diff --git a/.env.development b/.env.development index d905b86..9419bae 100644 --- a/.env.development +++ b/.env.development @@ -5,7 +5,16 @@ VITE_APP_TITLE = 煤科建管平台 VITE_APP_ENV = 'development' # 开发环境 -VITE_APP_BASE_API = 'http://192.168.110.209:8899' +# 李陈杰 209 +# VITE_APP_BASE_API = 'http://192.168.110.209:8899' +# 曾涛 +# VITE_APP_BASE_API = 'http://192.168.110.180:8899' +# 罗成 +# VITE_APP_BASE_API = 'http://192.168.110.188:8899' +# 朱银 +VITE_APP_BASE_API = 'http://192.168.110.180:8899' +#曾涛 +# VITE_APP_BASE_API = 'http://192.168.110.171:8899' # 无人机接口地址 diff --git a/package.json b/package.json index 67291cb..62a70bc 100644 --- a/package.json +++ b/package.json @@ -31,6 +31,7 @@ "await-to-js": "3.0.0", "axios": "1.7.8", "crypto-js": "4.2.0", + "date-fns": "^4.1.0", "diagram-js": "12.3.0", "didi": "9.0.2", "echarts": "5.5.0", @@ -68,7 +69,8 @@ "vue-types": "5.1.3", "vue3-print-nb": "^0.1.4", "vue3-scroll-seamless": "^1.0.6", - "vxe-table": "4.5.22" + "vxe-table": "4.5.22", + "xlsx": "^0.18.5" }, "devDependencies": { "@eslint/js": "9.15.0", diff --git a/public/assets/demo/Sunny.png b/public/assets/demo/Sunny.png new file mode 100644 index 0000000..14c94d4 Binary files /dev/null and b/public/assets/demo/Sunny.png differ diff --git a/public/assets/demo/avatar.png b/public/assets/demo/avatar.png new file mode 100644 index 0000000..68ae32a Binary files /dev/null and b/public/assets/demo/avatar.png differ diff --git a/public/assets/demo/back.png b/public/assets/demo/back.png new file mode 100644 index 0000000..6b6a2ac Binary files /dev/null and b/public/assets/demo/back.png differ diff --git a/public/assets/demo/back2.png b/public/assets/demo/back2.png new file mode 100644 index 0000000..19253bd Binary files /dev/null and b/public/assets/demo/back2.png differ diff --git a/public/assets/demo/back3.png b/public/assets/demo/back3.png new file mode 100644 index 0000000..538a083 Binary files /dev/null and b/public/assets/demo/back3.png differ diff --git a/public/assets/demo/back4.png b/public/assets/demo/back4.png new file mode 100644 index 0000000..c296fae Binary files /dev/null and b/public/assets/demo/back4.png differ diff --git a/public/assets/demo/fengshu.png b/public/assets/demo/fengshu.png new file mode 100644 index 0000000..23ea230 Binary files /dev/null and b/public/assets/demo/fengshu.png differ diff --git a/public/assets/demo/qiangdu.png b/public/assets/demo/qiangdu.png new file mode 100644 index 0000000..75c64f6 Binary files /dev/null and b/public/assets/demo/qiangdu.png differ diff --git a/public/assets/demo/rain.png b/public/assets/demo/rain.png new file mode 100644 index 0000000..e9263d6 Binary files /dev/null and b/public/assets/demo/rain.png differ diff --git a/public/assets/demo/rain1.png b/public/assets/demo/rain1.png new file mode 100644 index 0000000..592efea Binary files /dev/null and b/public/assets/demo/rain1.png differ diff --git a/public/assets/demo/rain_show.png b/public/assets/demo/rain_show.png new file mode 100644 index 0000000..4974324 Binary files /dev/null and b/public/assets/demo/rain_show.png differ diff --git a/public/assets/demo/riluo.png b/public/assets/demo/riluo.png new file mode 100644 index 0000000..401a9cf Binary files /dev/null and b/public/assets/demo/riluo.png differ diff --git a/public/assets/demo/sb1.png b/public/assets/demo/sb1.png new file mode 100644 index 0000000..33d2fc7 Binary files /dev/null and b/public/assets/demo/sb1.png differ diff --git a/public/assets/demo/sb2.png b/public/assets/demo/sb2.png new file mode 100644 index 0000000..965bc01 Binary files /dev/null and b/public/assets/demo/sb2.png differ diff --git a/public/assets/demo/sb3.png b/public/assets/demo/sb3.png new file mode 100644 index 0000000..9dd844f Binary files /dev/null and b/public/assets/demo/sb3.png differ diff --git a/public/assets/demo/sb4.png b/public/assets/demo/sb4.png new file mode 100644 index 0000000..c4e2ee1 Binary files /dev/null and b/public/assets/demo/sb4.png differ diff --git a/public/assets/demo/sbi1.png b/public/assets/demo/sbi1.png new file mode 100644 index 0000000..638af49 Binary files /dev/null and b/public/assets/demo/sbi1.png differ diff --git a/public/assets/demo/sbi2.png b/public/assets/demo/sbi2.png new file mode 100644 index 0000000..ef1af9c Binary files /dev/null and b/public/assets/demo/sbi2.png differ diff --git a/public/assets/demo/shidu.png b/public/assets/demo/shidu.png new file mode 100644 index 0000000..d318124 Binary files /dev/null and b/public/assets/demo/shidu.png differ diff --git a/public/assets/demo/sunny_s.png b/public/assets/demo/sunny_s.png new file mode 100644 index 0000000..f051d50 Binary files /dev/null and b/public/assets/demo/sunny_s.png differ diff --git a/public/assets/demo/wcl.png b/public/assets/demo/wcl.png new file mode 100644 index 0000000..7dd4161 Binary files /dev/null and b/public/assets/demo/wcl.png differ diff --git a/public/assets/demo/ycl.png b/public/assets/demo/ycl.png new file mode 100644 index 0000000..1808905 Binary files /dev/null and b/public/assets/demo/ycl.png differ diff --git a/public/assets/demo/yin.png b/public/assets/demo/yin.png new file mode 100644 index 0000000..afe131f Binary files /dev/null and b/public/assets/demo/yin.png differ diff --git a/public/assets/demo/zgjxx.png b/public/assets/demo/zgjxx.png new file mode 100644 index 0000000..019151e Binary files /dev/null and b/public/assets/demo/zgjxx.png differ diff --git a/public/assets/demo/zzcl.png b/public/assets/demo/zzcl.png new file mode 100644 index 0000000..ad406d9 Binary files /dev/null and b/public/assets/demo/zzcl.png differ diff --git a/public/billOfQuantities.xlsx b/public/billOfQuantities.xlsx new file mode 100644 index 0000000..0437516 Binary files /dev/null and b/public/billOfQuantities.xlsx differ diff --git a/public/catalog.xlsx b/public/catalog.xlsx new file mode 100644 index 0000000..eb9e383 Binary files /dev/null and b/public/catalog.xlsx differ diff --git a/public/daolu.xlsx b/public/daolu.xlsx new file mode 100644 index 0000000..b7f00ac Binary files /dev/null and b/public/daolu.xlsx differ diff --git a/public/dikuai.xlsx b/public/dikuai.xlsx new file mode 100644 index 0000000..25d39e0 Binary files /dev/null and b/public/dikuai.xlsx differ diff --git a/public/enterRoad.xlsx b/public/enterRoad.xlsx new file mode 100644 index 0000000..b7f00ac Binary files /dev/null and b/public/enterRoad.xlsx differ diff --git a/public/landBlock.xlsx b/public/landBlock.xlsx new file mode 100644 index 0000000..25d39e0 Binary files /dev/null and b/public/landBlock.xlsx differ diff --git a/public/materialsEquipment.xlsx b/public/materialsEquipment.xlsx new file mode 100644 index 0000000..eaa0762 Binary files /dev/null and b/public/materialsEquipment.xlsx differ diff --git a/src/App.vue b/src/App.vue index c641c7d..8621d55 100644 --- a/src/App.vue +++ b/src/App.vue @@ -8,14 +8,20 @@ import useSettingsStore from '@/store/modules/settings'; import { handleThemeStyle } from '@/utils/theme'; import useAppStore from '@/store/modules/app'; -import { getProjectTeam } from './utils/projectTeam'; const appStore = useAppStore(); onMounted(() => { nextTick(() => { // 初始化主题样式 handleThemeStyle(useSettingsStore().theme); - getProjectTeam(); }); }); + diff --git a/src/api/bidding/appointment/index.ts b/src/api/bidding/appointment/index.ts index 8f58106..4db7a6e 100644 --- a/src/api/bidding/appointment/index.ts +++ b/src/api/bidding/appointment/index.ts @@ -21,7 +21,7 @@ export const AddbiddingUser = (data) => { data }); }; -// 新增招投标人员 +// 查询招投标人员 export const biddingUserList = (projectId) => { return request({ url: '/bidding/biddingUser/list', diff --git a/src/api/contract/index.ts b/src/api/contract/index.ts index a5124c1..84e4e07 100644 --- a/src/api/contract/index.ts +++ b/src/api/contract/index.ts @@ -91,3 +91,11 @@ export const getDetailsList = (query: any): AxiosPromise => { params: query }); }; + +//获取版本详情 +export const getVersionDetails = (id: any): AxiosPromise => { + return request({ + url: '/tender/tenderPlanLimitList/getVersionDetail/' + id, + method: 'get' + }); +}; diff --git a/src/api/ctr/incomeContract/index.ts b/src/api/ctr/incomeContract/index.ts index eda6901..5cf0c75 100644 --- a/src/api/ctr/incomeContract/index.ts +++ b/src/api/ctr/incomeContract/index.ts @@ -71,4 +71,16 @@ export const getFileList = (data) => { method: 'get', params: data }) +} + +/** + * 查看收入合同附件列表 + * @param id + */ +export const getInfoByProjectId = (data) => { + return request({ + url: '/bidding/listOfWinningBids/getInfoByProjectId', + method: 'get', + params: data + }) } \ No newline at end of file diff --git a/src/api/design/appointment/index.ts b/src/api/design/appointment/index.ts index 61fdca8..9deefc3 100644 --- a/src/api/design/appointment/index.ts +++ b/src/api/design/appointment/index.ts @@ -27,3 +27,11 @@ export const systemUserList = (query) => { params: query }); }; +// 查询 +export const desUserList = (query) => { + return request({ + url: '/design/drawingreviewReceipts/desUser/list', + method: 'get', + params: query + }); +}; diff --git a/src/api/design/drawingreview/index.ts b/src/api/design/drawingreview/index.ts index d28e0be..7ed39e6 100644 --- a/src/api/design/drawingreview/index.ts +++ b/src/api/design/drawingreview/index.ts @@ -56,7 +56,7 @@ export const fillOutTheDesignVerificationForm = (data) => { export const drawingreviewReceipts = (data) => { return request({ url: '/design/drawingreviewReceipts', - method: 'post', + method: 'put', data }); }; @@ -96,3 +96,10 @@ export const drawingreview = (id) => { method: 'get' }); }; +// 获取单据 +export const getDrawingreviewReceipts = (id) => { + return request({ + url: '/design/drawingreviewReceipts/review/' + id, + method: 'get' + }); +}; diff --git a/src/api/design/received/index.ts b/src/api/design/received/index.ts index f8bbbdd..848f53a 100644 --- a/src/api/design/received/index.ts +++ b/src/api/design/received/index.ts @@ -24,3 +24,11 @@ export const exportWord = (params) => { method: 'post' }); }; +// 导出模版 +export const exportExcel = (params) => { + return request({ + url: '/design/collect/exportExcel', + method: 'post', + params: params + }); +}; diff --git a/src/api/design/volumeCatalog/index.ts b/src/api/design/volumeCatalog/index.ts index c7c3a01..aff48d6 100644 --- a/src/api/design/volumeCatalog/index.ts +++ b/src/api/design/volumeCatalog/index.ts @@ -116,6 +116,28 @@ export const getileDetail = (id) => { method: 'get' }); }; +/** + * 获取专业列表 + * @param query + */ +export const majorList = (params) => { + return request({ + url: '/design/volumeCatalog/majorList', + method: 'get', + params: params + }); +}; +/** + * 获取人员列表 + * @param query + */ +export const copyUserList = (params) => { + return request({ + url: '/design/volumeCatalog/copyUserList', + method: 'get', + params: params + }); +}; /** * 获取二维码信息 * @param query diff --git a/src/api/formalities/formalitiesAreConsolidated/index.ts b/src/api/formalities/formalitiesAreConsolidated/index.ts index 218187c..f6db0c1 100644 --- a/src/api/formalities/formalitiesAreConsolidated/index.ts +++ b/src/api/formalities/formalitiesAreConsolidated/index.ts @@ -5,6 +5,7 @@ import { FormalitiesAreConsolidatedForm, FormalitiesAreConsolidatedQuery } from '@/api/formalities/formalitiesAreConsolidated/types'; +import { ListOfFormalitiesQuery, ListOfFormalitiesVO } from '../listOfFormalities/types'; /** * 查询合规性手续合账列表 @@ -101,3 +102,17 @@ export const delFormalitiesAnnex = (id: string | number | Array method: 'delete' }); }; + +/** + * 查询手续办理清单模板属性列表 + * @param query + * @returns {*} + */ + +export const getTemplateTreeList = (query?: any): AxiosPromise => { + return request({ + url: '/formalities/formalitiesAreConsolidated/getTree', + method: 'get', + params: query + }); +}; diff --git a/src/api/formalities/listOfFormalities/index.ts b/src/api/formalities/listOfFormalities/index.ts index 427f8d8..61fcba2 100644 --- a/src/api/formalities/listOfFormalities/index.ts +++ b/src/api/formalities/listOfFormalities/index.ts @@ -75,3 +75,12 @@ export const getWhetherItExists = (id: string | number): AxiosPromise => { + return request({ + url: '/formalities/formalitiesAreConsolidated/addFormalities', + method: 'post', + data + }); +}; diff --git a/src/api/largeScreen/index.ts b/src/api/largeScreen/index.ts new file mode 100644 index 0000000..87acda0 --- /dev/null +++ b/src/api/largeScreen/index.ts @@ -0,0 +1,100 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { MasterVO, MasterForm, MasterQuery } from '@/api/patch/types'; +/** + * 合同金额 + * + */ +export const totalAmount = () => { + return request({ + url: '/money/big/screen/totalAmount', + method: 'get' + }); +}; + +/** + * 查询项目位置列表 + * + */ export const projectGis = (clientid?: any) => { + return request({ + url: '/money/big/screen/project/gis', + method: 'get', + params: clientid + }); +}; + +/** + * 应收实收 + * + */ export const incomePay = (clientid) => { + return request({ + url: '/money/big/screen/income/pay', + method: 'get', + params: clientid + }); +}; + +/** + * 收入合同分析 + * + */ export const incomeAnalyze = (clientid) => { + return request({ + url: '/money/big/screen/income/analyze', + method: 'get', + params: clientid + }); +}; +/** + * 应付实付 + * + */ export const expensesPay = (clientid) => { + return request({ + url: '/money/big/screen/expenses/pay', + method: 'get', + params: clientid + }); +}; +/** + * 支出合同分析 + * + */ +export const expensesAnalyze = (clientid) => { + return request({ + url: '/money/big/screen/expenses/analyze', + method: 'get', + params: clientid + }); +}; +/** + * 成本 + * + */ export const cost = (clientid) => { + return request({ + url: '/money/big/screen/cost', + method: 'get', + params: clientid + }); +}; + +// 资金KPI +export const monthMoney = () => { + return request({ + url: '/money/big/screen/monthMoney', + method: 'get' + }); +}; +// 现金流 +export const monthCash = () => { + return request({ + url: '/money/big/screen/monthCash', + method: 'get' + }); +}; +// 现金流总和 + +export const cashTotal = () => { + return request({ + url: '/money/big/screen/cashTotal', + method: 'get' + }); +}; diff --git a/src/api/materials/batchPlan/index.ts b/src/api/materials/batchPlan/index.ts index 8633eee..5b9690b 100644 --- a/src/api/materials/batchPlan/index.ts +++ b/src/api/materials/batchPlan/index.ts @@ -143,3 +143,30 @@ export const getDictList = (query: any): AxiosPromise => { params: query }); }; +export const coryEngineeringList = (query: any): AxiosPromise => { + return request({ + url: '/cailiaoshebei/mrpBase/coryEngineeringList', + method: 'get', + params: query + }); +}; +/** + * 获取到物资状态为已完成的版本 + */ +export const obtainTheVersion = (query: any) => { + return request({ + url: '/cailiaoshebei/mrpBase/obtainTheVersion', + method: 'get', + params: query + }); +}; +/** + * 获取到物资剩余量 + */ +export const mrpBaseRemaining = (query: any) => { + return request({ + url: '/cailiaoshebei/mrpBase/remaining', + method: 'get', + params: query + }); +}; diff --git a/src/api/materials/company/index.ts b/src/api/materials/company/index.ts index da21b9f..1996df8 100644 --- a/src/api/materials/company/index.ts +++ b/src/api/materials/company/index.ts @@ -14,6 +14,18 @@ export const listCompany = (query?: CompanyQuery): AxiosPromise => method: 'get', params: query }); +}; /** + * 查询材料提供商 + * @param query + * @returns {*} + */ + +export const supplierInputGet = (query?) => { + return request({ + url: '/supplierInput/supplierInput/getList', + method: 'get', + params: query + }); }; /** diff --git a/src/api/materials/materialIssue/index.ts b/src/api/materials/materialIssue/index.ts index 31e8076..33a986a 100644 --- a/src/api/materials/materialIssue/index.ts +++ b/src/api/materials/materialIssue/index.ts @@ -61,3 +61,25 @@ export const delMaterialIssue = (id: string | number | Array) = method: 'delete' }); }; +//获取一起名称 +export const getMaterialName = (id: any) => { + return request({ + url: '/materials/materials/inventoryNumber/' + id, + method: 'get' + }); +}; +//获取出库记录 +export const inventoryList = (id: any) => { + return request({ + url: '/materials/materialIssue/inventory/list/' + id, + method: 'get' + }); +}; + +//获取材料表信息 +export const getMaterialInfo = (id: any) => { + return request({ + url: '/materials/materials/listByFormCode/' + id, + method: 'get' + }); +}; diff --git a/src/api/materials/materialReceive/index.ts b/src/api/materials/materialReceive/index.ts index 0e9f582..376e804 100644 --- a/src/api/materials/materialReceive/index.ts +++ b/src/api/materials/materialReceive/index.ts @@ -61,3 +61,16 @@ export const delMaterialReceive = (id: string | number | Array) method: 'delete' }); }; +/** + * 获取合同列表数据 + * @param id + */ +export const getContractNameList = (id: string | number | Array) => { + return request({ + url: '/materials/materialReceive/ctrList', + params: { + projectId: id + }, + method: 'get' + }); +}; diff --git a/src/api/materials/materialsUseRecord/index.ts b/src/api/materials/materialsUseRecord/index.ts new file mode 100644 index 0000000..177b5b2 --- /dev/null +++ b/src/api/materials/materialsUseRecord/index.ts @@ -0,0 +1,70 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { MaterialsUseRecordVO, MaterialsUseRecordForm, MaterialsUseRecordQuery } from '@/api/materials/materialsUseRecord/types'; + +/** + * 查询材料使用登记列表 + * @param query + * @returns {*} + */ + +export const listMaterialsUseInventory = (query?: MaterialsUseRecordQuery): AxiosPromise => { + return request({ + url: '/materials/materialsInventory/list', + method: 'get', + params: query + }); +}; +export const listMaterialsUseRecord = (query?: MaterialsUseRecordQuery): AxiosPromise => { + return request({ + url: '/materials/materialsUseRecord/list', + method: 'get', + params: query + }); +}; + +/** + * 查询材料使用登记详细 + * @param id + */ +export const getMaterialsUseRecord = (id: string | number): AxiosPromise => { + return request({ + url: '/materials/materialsUseRecord/' + id, + method: 'get' + }); +}; + +/** + * 新增材料使用登记 + * @param data + */ +export const addMaterialsUseRecord = (data: MaterialsUseRecordForm) => { + return request({ + url: '/materials/materialsUseRecord', + method: 'post', + data: data + }); +}; + +/** + * 修改材料使用登记 + * @param data + */ +export const updateMaterialsUseRecord = (data: MaterialsUseRecordForm) => { + return request({ + url: '/materials/materialsUseRecord', + method: 'put', + data: data + }); +}; + +/** + * 删除材料使用登记 + * @param id + */ +export const delMaterialsUseRecord = (id: string | number | Array) => { + return request({ + url: '/materials/materialsUseRecord/' + id, + method: 'delete' + }); +}; diff --git a/src/api/materials/materialsUseRecord/types.ts b/src/api/materials/materialsUseRecord/types.ts new file mode 100644 index 0000000..697f347 --- /dev/null +++ b/src/api/materials/materialsUseRecord/types.ts @@ -0,0 +1,111 @@ +export interface MaterialsUseRecordVO { + /** + * 主键ID + */ + id: string | number; + + /** + * 项目ID + */ + projectId: string | number; + + /** + * 库存ID + */ + inventoryId: string | number; + + /** + * 使用部位 + */ + usePart: string; + + /** + * 使用数量 + */ + useNumber: number; + + /** + * 剩余量 + */ + residueNumber: string | number; + + /** + * 备注 + */ + remark: string; + +} + +export interface MaterialsUseRecordForm extends BaseEntity { + /** + * 主键ID + */ + id?: string | number; + + /** + * 项目ID + */ + projectId?: string | number; + + /** + * 库存ID + */ + inventoryId?: string | number; + + /** + * 使用部位 + */ + usePart?: string; + + /** + * 使用数量 + */ + useNumber?: number; + + /** + * 剩余量 + */ + residueNumber?: string | number; + + /** + * 备注 + */ + remark?: string; + +} + +export interface MaterialsUseRecordQuery extends PageQuery { + + /** + * 项目ID + */ + projectId?: string | number; + + /** + * 库存ID + */ + inventoryId?: string | number; + + /** + * 使用部位 + */ + usePart?: string; + + /** + * 使用数量 + */ + useNumber?: number; + + /** + * 剩余量 + */ + residueNumber?: string | number; + + /** + * 日期范围参数 + */ + params?: any; +} + + + diff --git a/src/api/materials/overallPlanMaterialSupply/index.ts b/src/api/materials/overallPlanMaterialSupply/index.ts index ae73e0b..f28216e 100644 --- a/src/api/materials/overallPlanMaterialSupply/index.ts +++ b/src/api/materials/overallPlanMaterialSupply/index.ts @@ -21,7 +21,7 @@ export const totalsupplyplan = (params: any): AxiosPromise => { export const totalSupplyplanDetails = (id: any): AxiosPromise => { return request({ url: '/design/totalsupplyplan/' + id, - method: 'get', + method: 'get' }); }; // 修改物资-总供应计划 @@ -33,4 +33,11 @@ export const materialChangeSupplyplan = (data: any): AxiosPromise => { }); }; - +// 总供应计划-批量编辑 +export const totalSupplyplanBatchEdit = (data: any): AxiosPromise => { + return request({ + url: '/design/totalsupplyplan/batchEdit', + method: 'put', + data + }); +}; diff --git a/src/api/menu.ts b/src/api/menu.ts index a3ae80e..fc1d542 100644 --- a/src/api/menu.ts +++ b/src/api/menu.ts @@ -3,9 +3,9 @@ import { AxiosPromise } from 'axios'; import { RouteRecordRaw } from 'vue-router'; // 获取路由 -export function getRouters(): AxiosPromise { +export function getRouters(id: string): AxiosPromise { return request({ - url: '/system/menu/getRouters', + url: '/system/menu/getRouters/' + id, method: 'get' }); } diff --git a/src/api/message/notice/index.ts b/src/api/message/notice/index.ts new file mode 100644 index 0000000..224934c --- /dev/null +++ b/src/api/message/notice/index.ts @@ -0,0 +1,63 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { NoticeVO, NoticeForm, NoticeQuery } from '@/api/message/notice/types'; + +/** + * 查询消息列表 + * @param query + * @returns {*} + */ + +export const listNotice = (query?: NoticeQuery): AxiosPromise => { + return request({ + url: '/message/notice/list', + method: 'get', + params: query + }); +}; + +/** + * 查询消息详细 + * @param id + */ +export const getNotice = (id: string | number): AxiosPromise => { + return request({ + url: '/message/notice/' + id, + method: 'get' + }); +}; + +/** + * 新增消息 + * @param data + */ +export const addNotice = (data: NoticeForm) => { + return request({ + url: '/message/notice', + method: 'post', + data: data + }); +}; + +/** + * 修改消息 + * @param data + */ +export const updateNotice = (data: NoticeForm) => { + return request({ + url: '/message/notice', + method: 'put', + data: data + }); +}; + +/** + * 删除消息 + * @param id + */ +export const delNotice = (id: string | number | Array) => { + return request({ + url: '/message/notice/' + id, + method: 'delete' + }); +}; diff --git a/src/api/message/notice/types.ts b/src/api/message/notice/types.ts new file mode 100644 index 0000000..c38fdad --- /dev/null +++ b/src/api/message/notice/types.ts @@ -0,0 +1,156 @@ +export interface NoticeVO { + /** + * 主键ID + */ + id: string | number; + + /** + * 项目ID + */ + projectId: string | number; + + /** + * 接收通知的用户ID + */ + recipientId: string | number; + + /** + * 发送通知的用户ID(系统通知 0) + */ + senderId: string | number; + + /** + * 配置id + */ + configId: string | number; + + /** + * 详情id + */ + detailId: string | number; + + /** + * 通知内容 + */ + content: string; + + /** + * 查看状态(0未读 1已读) + */ + viewStatus: string; + + /** + * 查看时间 + */ + viewTime: string; + + /** + * 备注 + */ + remark: string; + +} + +export interface NoticeForm extends BaseEntity { + /** + * 主键ID + */ + id?: string | number; + + /** + * 项目ID + */ + projectId?: string | number; + + /** + * 接收通知的用户ID + */ + recipientId?: string | number; + + /** + * 发送通知的用户ID(系统通知 0) + */ + senderId?: string | number; + + /** + * 配置id + */ + configId?: string | number; + + /** + * 详情id + */ + detailId?: string | number; + + /** + * 通知内容 + */ + content?: string; + + /** + * 查看状态(0未读 1已读) + */ + viewStatus?: string; + + /** + * 查看时间 + */ + viewTime?: string; + + /** + * 备注 + */ + remark?: string; + +} + +export interface NoticeQuery extends PageQuery { + + /** + * 项目ID + */ + projectId?: string | number; + + /** + * 接收通知的用户ID + */ + recipientId?: string | number; + + /** + * 发送通知的用户ID(系统通知 0) + */ + senderId?: string | number; + + /** + * 配置id + */ + configId?: string | number; + + /** + * 详情id + */ + detailId?: string | number; + + /** + * 通知内容 + */ + content?: string; + + /** + * 查看状态(0未读 1已读) + */ + viewStatus?: string; + + /** + * 查看时间 + */ + viewTime?: string; + + /** + * 日期范围参数 + */ + params?: any; +} + + + diff --git a/src/api/out/monthPlan/index.ts b/src/api/out/monthPlan/index.ts index b902124..48f376f 100644 --- a/src/api/out/monthPlan/index.ts +++ b/src/api/out/monthPlan/index.ts @@ -98,3 +98,26 @@ export const getMonthInfo = (query): AxiosPromise => { params: query }); }; +/** + * 修改采购完工产值对甲 + + * @param id + */ +export const purchaseValueAup = (query) => { + return request({ + url: '/out/monthPlan/purchaseValueAup', + method: 'get', + params: query + }); +}; +/** + * 采购完工产值对甲 + * @param id + */ +export const purchaseValueA = (query) => { + return request({ + url: '/out/monthPlan/purchaseValueA', + method: 'get', + params: query + }); +}; \ No newline at end of file diff --git a/src/api/out/outDesignTableVS/index.ts b/src/api/out/outDesignTableVS/index.ts index 788d797..9385a1d 100644 --- a/src/api/out/outDesignTableVS/index.ts +++ b/src/api/out/outDesignTableVS/index.ts @@ -7,3 +7,19 @@ export function listOutTable(query: any) { params: query }); } +// 对甲产值和对乙产值 +export function comparisonOfOutputValue(query: any) { + return request({ + url: '/out/table/outCompare', + method: 'get', + params: query + }); +} +// 对甲结算和对乙结算 +export function comparisonOfSettlementValue(query: any) { + return request({ + url: '/out/table/comparisonOfOwnerAndSub', + method: 'get', + params: query + }); +} diff --git a/src/api/out/purchase/index.ts b/src/api/out/purchase/index.ts new file mode 100644 index 0000000..410a1cd --- /dev/null +++ b/src/api/out/purchase/index.ts @@ -0,0 +1,24 @@ +import request from '@/utils/request'; +/** + * 修改采购完工产值对甲 + + * @param id + */ +export const purchaseValueAup = (query) => { + return request({ + url: '/out/monthPlan/purchaseValueAup', + method: 'get', + params: query + }); +}; +/** + * 采购完工产值对甲 + * @param id + */ +export const purchaseValueA = (query) => { + return request({ + url: '/out/monthPlan/purchaseValueA', + method: 'get', + params: query + }); +}; \ No newline at end of file diff --git a/src/api/progress/constructionSchedulePlan/index.ts b/src/api/progress/constructionSchedulePlan/index.ts index 3a7352d..fec34f8 100644 --- a/src/api/progress/constructionSchedulePlan/index.ts +++ b/src/api/progress/constructionSchedulePlan/index.ts @@ -61,3 +61,13 @@ export const delConstructionSchedulePlan = (id: string | number | Array) => { + return request({ + url: '/project/project/projectStructure/' + id, + method: 'get' + }); +}; diff --git a/src/api/progress/progressCategory/index.ts b/src/api/progress/progressCategory/index.ts index d525264..1f593bb 100644 --- a/src/api/progress/progressCategory/index.ts +++ b/src/api/progress/progressCategory/index.ts @@ -8,11 +8,10 @@ import { ProgressCategoryVO, ProgressCategoryForm, ProgressCategoryQuery } from * @returns {*} */ -export const listProgressCategory = (query?: ProgressCategoryQuery): AxiosPromise => { +export const listProgressCategory = (id?: string | number): AxiosPromise => { return request({ - url: '/progress/progressCategory/list', - method: 'get', - params: query + url: '/progress/progressCategory/listByParent/' + id, + method: 'get' }); }; @@ -61,3 +60,39 @@ export const delProgressCategory = (id: string | number | Array method: 'delete' }); }; + +//下载 +export const downloadProgressCategory = (data) => { + return request({ + url: '/progress/progressCategory/export', + method: 'post', + data + }); +}; + +/** + * 查询分项工程单价下拉树结构 + * @param query + * @returns {*} + */ +export const getCategoryTabList = (id?: string | number): AxiosPromise => { + return request({ + url: '/progress/progressCategory/listTopBySubProjectId/' + id, + method: 'get' + }); +}; + +/** + * 查询分项工程单价外层结构 + * @param query + * @returns {*} + */ +export const getCategoryList = (id?: string | number): AxiosPromise => { + return request({ + url: '/progress/progressCategory/list', + method: 'get', + params: { + parentId: id + } + }); +}; diff --git a/src/api/progress/progressCategory/types.ts b/src/api/progress/progressCategory/types.ts index 6e05749..07aaa4f 100644 --- a/src/api/progress/progressCategory/types.ts +++ b/src/api/progress/progressCategory/types.ts @@ -84,10 +84,10 @@ export interface ProgressCategoryVO { */ remark: string; - /** - * 子对象 - */ - children: ProgressCategoryVO[]; + /** + * 子对象 + */ + children: ProgressCategoryVO[]; } export interface ProgressCategoryForm extends BaseEntity { @@ -95,6 +95,9 @@ export interface ProgressCategoryForm extends BaseEntity { * 主键id */ id?: string | number; + constructionPrice?: string | number; + ownerPrice?: string | number; + relevancyStructure?: string; /** * 父类别id @@ -175,11 +178,9 @@ export interface ProgressCategoryForm extends BaseEntity { * 备注 */ remark?: string; - } export interface ProgressCategoryQuery { - /** * 父类别id */ @@ -255,11 +256,8 @@ export interface ProgressCategoryQuery { */ status?: string; - /** - * 日期范围参数 - */ - params?: any; + /** + * 日期范围参数 + */ + params?: any; } - - - diff --git a/src/api/progress/progressCategoryTemplate/index.ts b/src/api/progress/progressCategoryTemplate/index.ts index 3e80694..86e86e1 100644 --- a/src/api/progress/progressCategoryTemplate/index.ts +++ b/src/api/progress/progressCategoryTemplate/index.ts @@ -1,6 +1,10 @@ import request from '@/utils/request'; import { AxiosPromise } from 'axios'; -import { ProgressCategoryTemplateVO, ProgressCategoryTemplateForm, ProgressCategoryTemplateQuery } from '@/api/progress/progressCategoryTemplate/types'; +import { + ProgressCategoryTemplateVO, + ProgressCategoryTemplateForm, + ProgressCategoryTemplateQuery +} from '@/api/progress/progressCategoryTemplate/types'; /** * 查询进度类别模版列表 @@ -61,3 +65,22 @@ export const delProgressCategoryTemplate = (id: string | number | Array { + return request({ + url: '/progress/progressCategoryTemplate/listSystemTop/' + id, + method: 'get' + }); +}; + +/** + * 筛选查询进度类别模版列表 + * @param parentId + * @returns {*} + */ +export const listProgressCategoryTemplateByParent = (parentId: string | number): AxiosPromise => { + return request({ + url: '/progress/progressCategoryTemplate/listByParent/' + parentId, + method: 'get' + }); +}; diff --git a/src/api/progress/progressCategoryTemplate/types.ts b/src/api/progress/progressCategoryTemplate/types.ts index 66ee461..1d6a507 100644 --- a/src/api/progress/progressCategoryTemplate/types.ts +++ b/src/api/progress/progressCategoryTemplate/types.ts @@ -12,7 +12,7 @@ export interface ProgressCategoryTemplateVO { * 计量方式(0无 1数量 2百分比) */ unitType: string; - + parentId?: string | number; /** * 工作类型 */ @@ -39,7 +39,9 @@ export interface ProgressCategoryTemplateForm extends BaseEntity { * 主键id */ id?: string | number; - + parentId?: string | number; + constructionType?: string; + relevancyStructure?: string; /** * 父类别id */ @@ -76,7 +78,8 @@ export interface ProgressCategoryTemplateQuery { * 父类别id */ pid?: string | number; - + parentId?: string | number; + constructionType?: string; /** * 类别名称 */ diff --git a/src/api/project/contractor/types.ts b/src/api/project/contractor/types.ts index f041fa6..0d4ab3f 100644 --- a/src/api/project/contractor/types.ts +++ b/src/api/project/contractor/types.ts @@ -28,10 +28,10 @@ export interface ContractorVO { * 管理人联系电话 */ custodianPhone: string; - /** + /** * 分包类型 */ - contractorType?: string; + contractorType?: string; /** * 公司相关文件 @@ -54,6 +54,14 @@ export interface ContractorForm extends BaseEntity { * 主键id */ id?: string | number; + /** + * 供应商id + */ + supplierId?: string | number; + /** + * 供应商 + */ + supplier?: string; /** * 主键id @@ -127,10 +135,10 @@ export interface ContractorQuery extends PageQuery { * 管理人联系电话 */ custodianPhone?: string; - /** + /** * 分包类型 */ - contractorType?: string; + contractorType?: string; /** * 日期范围参数 diff --git a/src/api/project/project/index.ts b/src/api/project/project/index.ts index 5b76894..23cd9ad 100644 --- a/src/api/project/project/index.ts +++ b/src/api/project/project/index.ts @@ -96,8 +96,6 @@ export const addProjectFacilities = (data: any) => { * @param data */ export const addProjectPilePoint = (data: any) => { - console.log('🚀 ~ addProjectPilePoint ~ data:', data); - return request({ url: '/facility/photovoltaicPanelPoint/parts/geoJson', method: 'post', @@ -186,3 +184,82 @@ export const uploadProjectFile = (data: any) => { data: data }); }; + +/** + * 切换项目 + * @param id + */ +export const changeProject = (id: string | number) => { + return request({ + url: '/project/project/changeProject/' + id, + method: 'get' + }); +}; +/** + * 打卡规则 + * @param id + */ +export const attendanceRuleEdit = (data) => { + return request({ + url: '/project/attendanceRule', + method: 'put', + data + }); +}; +/** + * 打卡规则 + * @param id + */ +export const attendanceRuleAdd = (data) => { + return request({ + url: '/project/attendanceRule', + method: 'post', + data + }); +}; +/** + * 获取规则 + * @param id + */ +export const byProjectIdDetail = (id) => { + return request({ + url: '/project/attendanceRule/byProjectId/' + id, + method: 'get' + }); +}; + +// 新增项目打卡范围 +export const addAttendanceRange = (data) => { + return request({ + url: '/project/projectPunchrange', + method: 'post', + data + }); +}; + +// 删除项目打卡范围 +export const delAttendanceRange = (id) => { + return request({ + url: '/project/projectPunchrange/' + id, + method: 'delete' + }); +}; + + +// 修改项目打卡范围 +export const updateAttendanceRange = (data) => { + return request({ + url: '/project/projectPunchrange', + method: 'put', + data + }); +}; + +// 查询项目打卡范围列表 +export const getAttendanceRangeList = (data) => { + return request({ + url: '/project/projectPunchrange/list', + method: 'get', + params: data + }); +}; \ No newline at end of file diff --git a/src/api/supplierInput/supplierInput/index.ts b/src/api/supplierInput/supplierInput/index.ts index 719aa11..834b072 100644 --- a/src/api/supplierInput/supplierInput/index.ts +++ b/src/api/supplierInput/supplierInput/index.ts @@ -8,7 +8,7 @@ import { SupplierInputVO, SupplierInputForm, SupplierInputQuery } from '@/api/su * @returns {*} */ -export const listSupplierInput = (query?: SupplierInputQuery): AxiosPromise => { +export const listSupplierInput = (query?: any): AxiosPromise => { return request({ url: '/supplierInput/supplierInput/list', method: 'get', diff --git a/src/api/system/landTransfer/enterRoad/index.ts b/src/api/system/landTransfer/enterRoad/index.ts index c3e093c..a575127 100644 --- a/src/api/system/landTransfer/enterRoad/index.ts +++ b/src/api/system/landTransfer/enterRoad/index.ts @@ -61,3 +61,12 @@ export const delEnterRoad = (id: string | number | Array) => { method: 'delete' }); }; + +// 道路信息导入 +export const importEnterRoad = (projectId: any, data: any) => { + return request({ + url: '/land/enterRoad/upload/' + projectId, + method: 'post', + data: data + }); +}; \ No newline at end of file diff --git a/src/api/system/landTransfer/landBlock/index.ts b/src/api/system/landTransfer/landBlock/index.ts index d543334..06e3aad 100644 --- a/src/api/system/landTransfer/landBlock/index.ts +++ b/src/api/system/landTransfer/landBlock/index.ts @@ -76,3 +76,12 @@ export const delLandBlock = (id: string | number | Array) => { method: 'delete' }); }; + +// 地块信息导入 +export const importLandBlock = (projectId:any,data: any) => { + return request({ + url: '/land/landBlock/upload/'+projectId, + method: 'post', + data: data + }); +}; diff --git a/src/api/system/landTransfer/landTransferLedger/index.ts b/src/api/system/landTransfer/landTransferLedger/index.ts index 2fdefb9..fbd949e 100644 --- a/src/api/system/landTransfer/landTransferLedger/index.ts +++ b/src/api/system/landTransfer/landTransferLedger/index.ts @@ -69,3 +69,13 @@ export const delLandTransferLedger = (id: string | number | Array) => { + return request({ + url: '/land/landTransferLedger/count/' + id, + method: 'get' + }); +}; diff --git a/src/api/system/menu/index.ts b/src/api/system/menu/index.ts index 7a0cf74..2866271 100644 --- a/src/api/system/menu/index.ts +++ b/src/api/system/menu/index.ts @@ -20,18 +20,20 @@ export const getMenu = (menuId: string | number): AxiosPromise => { }; // 查询菜单下拉树结构 -export const treeselect = (): AxiosPromise => { +export const treeselect = (params?: any): AxiosPromise => { return request({ url: '/system/menu/treeselect', - method: 'get' + method: 'get', + params }); }; // 根据角色ID查询菜单下拉树结构 -export const roleMenuTreeselect = (roleId: string | number): AxiosPromise => { +export const roleMenuTreeselect = (roleId: string | number, params?: any): AxiosPromise => { return request({ url: '/system/menu/roleMenuTreeselect/' + roleId, - method: 'get' + method: 'get', + params }); }; @@ -68,3 +70,11 @@ export const delMenu = (menuId: string | number) => { method: 'delete' }); }; + +// 获取所有路由 +export const getAllRouters = () => { + return request({ + url: '/system/menu/getAllRouters', + method: 'get' + }); +}; diff --git a/src/api/system/post/index.ts b/src/api/system/post/index.ts index a910be8..9f028ab 100644 --- a/src/api/system/post/index.ts +++ b/src/api/system/post/index.ts @@ -12,9 +12,9 @@ export function listPost(query: { pageNum: number; pageSize: number }): AxiosPro } // 查询岗位列表 -export function listTreeByProject(projectId: string): AxiosPromise { +export function listTreeByProject(): AxiosPromise { return request({ - url: '/system/dept/list/treeByProjectId/' + projectId, + url: '/system/dept/list/tree', method: 'get' }); } @@ -75,3 +75,11 @@ export function getRoleList(deptId?: number | string): AxiosPromise { } }); } + +// 获取部门下的项目列表 +export function getProjectByDeptId(deptId?: number | string): AxiosPromise { + return request({ + url: '/system/dept/projectIdList/' + deptId, + method: 'get' + }); +} diff --git a/src/api/system/role/index.ts b/src/api/system/role/index.ts index fb0fcab..6727852 100644 --- a/src/api/system/role/index.ts +++ b/src/api/system/role/index.ts @@ -147,10 +147,11 @@ export const authUserSelectAll = (data: any) => { }); }; // 根据角色ID查询部门树结构 -export const deptTreeSelect = (roleId: string | number): AxiosPromise => { +export const deptTreeSelect = (roleId: string | number, params?) => { return request({ url: '/system/role/deptTree/' + roleId, - method: 'get' + method: 'get', + params }); }; diff --git a/src/api/system/user/types.ts b/src/api/system/user/types.ts index 4bdca11..88461ad 100644 --- a/src/api/system/user/types.ts +++ b/src/api/system/user/types.ts @@ -60,19 +60,20 @@ export interface UserForm { nickName?: string; password: string; phonenumber?: string; + projectRoles?: any[]; email?: string; sex?: string; status: string; remark?: string; postIds: string[]; - roleIds: string[]; filePath?: string; } export interface UserInfoVO { user: UserVO; roles: RoleVO[]; - roleIds: string[]; + + projectRoles: any[]; posts: PostVO[]; postIds: string[]; roleGroup: string; diff --git a/src/api/tender/index.ts b/src/api/tender/index.ts index 65a71a6..5b45d9a 100644 --- a/src/api/tender/index.ts +++ b/src/api/tender/index.ts @@ -91,3 +91,41 @@ export const getTenderPlanDetail = (query: any): AxiosPromise => { params: query }); }; +//查看招标文件 +export const biddViewLook = (query: any): AxiosPromise => { + return request({ + url: '/tender/biddingPlan/getAnnex', + method: 'get', + params: query + }); +}; +//删除招标文件 +export const delBiddView = (query: any): AxiosPromise => { + return request({ + url: '/tender/biddingPlanAnnex/' + query.ids, + method: 'delete' + }); +}; +//获取招标单位 +export const getUnitList = (query: any): AxiosPromise => { + return request({ + url: '/supplierInput/supplierInput/getList', + method: 'get', + params: query + }); +}; +//修改状态 +export const editStatus = (query: any): AxiosPromise => { + return request({ + url: '/tender/biddingPlan/editStatus', + method: 'put', + data: query + }); +}; +//获取版本详情 +export const getVersionDetail = (id: any) => { + return request({ + url: '/tender/tenderPlanLimitList/getVersionDetail/' + id, + method: 'get' + }); +}; diff --git a/src/assets/demo/avatar.png b/src/assets/demo/avatar.png new file mode 100644 index 0000000..68ae32a Binary files /dev/null and b/src/assets/demo/avatar.png differ diff --git a/src/assets/demo/back.png b/src/assets/demo/back.png new file mode 100644 index 0000000..6b6a2ac Binary files /dev/null and b/src/assets/demo/back.png differ diff --git a/src/assets/demo/gaojing.png b/src/assets/demo/gaojing.png new file mode 100644 index 0000000..019151e Binary files /dev/null and b/src/assets/demo/gaojing.png differ diff --git a/src/assets/demo/rain.png b/src/assets/demo/rain.png new file mode 100644 index 0000000..592efea Binary files /dev/null and b/src/assets/demo/rain.png differ diff --git a/src/assets/demo/wcl.png b/src/assets/demo/wcl.png new file mode 100644 index 0000000..7dd4161 Binary files /dev/null and b/src/assets/demo/wcl.png differ diff --git a/src/assets/demo/yichuli.png b/src/assets/demo/yichuli.png new file mode 100644 index 0000000..1808905 Binary files /dev/null and b/src/assets/demo/yichuli.png differ diff --git a/src/assets/demo/zzcl.png b/src/assets/demo/zzcl.png new file mode 100644 index 0000000..ad406d9 Binary files /dev/null and b/src/assets/demo/zzcl.png differ diff --git a/src/assets/styles/ruoyi.scss b/src/assets/styles/ruoyi.scss index d2ecb24..d9409ed 100644 --- a/src/assets/styles/ruoyi.scss +++ b/src/assets/styles/ruoyi.scss @@ -288,3 +288,14 @@ h6 { .top-right-btn { margin-left: auto; } + +.text-two-lines { + display: -webkit-box; /* 触发弹性盒模型 */ + -webkit-box-orient: vertical; /* 垂直排列文本行 */ + -webkit-line-clamp: 2; /* 限制显示2行 */ + /* 3. 超出部分处理 */ + overflow: hidden; /* 隐藏超出容器的内容 */ + text-overflow: ellipsis; /* 超出部分显示省略号 */ + /* 可选:优化文本间距 */ + line-height: 1.5; /* 行高,控制两行的垂直间距 */ +} diff --git a/src/components/Editor/index.vue b/src/components/Editor/index.vue index ba70fbb..2b569d0 100644 --- a/src/components/Editor/index.vue +++ b/src/components/Editor/index.vue @@ -1,28 +1,14 @@ @@ -47,7 +33,9 @@ const props = defineProps({ /* 上传文件大小限制(MB) */ fileSize: propTypes.number.def(5), /* 类型(base64格式、url格式) */ - type: propTypes.string.def('url') + type: propTypes.string.def('url'), + /* 占位符 */ + placeholder: propTypes.string.def('请输入内容'), }); const { proxy } = getCurrentInstance() as ComponentInternalInstance; @@ -90,7 +78,7 @@ const options = ref({ } } }, - placeholder: '请输入内容', + placeholder: props.placeholder, readOnly: props.readOnly }); @@ -166,77 +154,96 @@ const handleUploadError = (err: any) => { .editor-img-uploader { display: none; } + .editor, .ql-toolbar { white-space: pre-wrap !important; line-height: normal !important; } + .quill-img { display: none; } + .ql-snow .ql-tooltip[data-mode='link']::before { content: '请输入链接地址:'; } + .ql-snow .ql-tooltip.ql-editing a.ql-action::after { border-right: 0; content: '保存'; padding-right: 0; } + .ql-snow .ql-tooltip[data-mode='video']::before { content: '请输入视频地址:'; } + .ql-snow .ql-picker.ql-size .ql-picker-label::before, .ql-snow .ql-picker.ql-size .ql-picker-item::before { content: '14px'; } + .ql-snow .ql-picker.ql-size .ql-picker-label[data-value='small']::before, .ql-snow .ql-picker.ql-size .ql-picker-item[data-value='small']::before { content: '10px'; } + .ql-snow .ql-picker.ql-size .ql-picker-label[data-value='large']::before, .ql-snow .ql-picker.ql-size .ql-picker-item[data-value='large']::before { content: '18px'; } + .ql-snow .ql-picker.ql-size .ql-picker-label[data-value='huge']::before, .ql-snow .ql-picker.ql-size .ql-picker-item[data-value='huge']::before { content: '32px'; } + .ql-snow .ql-picker.ql-header .ql-picker-label::before, .ql-snow .ql-picker.ql-header .ql-picker-item::before { content: '文本'; } + .ql-snow .ql-picker.ql-header .ql-picker-label[data-value='1']::before, .ql-snow .ql-picker.ql-header .ql-picker-item[data-value='1']::before { content: '标题1'; } + .ql-snow .ql-picker.ql-header .ql-picker-label[data-value='2']::before, .ql-snow .ql-picker.ql-header .ql-picker-item[data-value='2']::before { content: '标题2'; } + .ql-snow .ql-picker.ql-header .ql-picker-label[data-value='3']::before, .ql-snow .ql-picker.ql-header .ql-picker-item[data-value='3']::before { content: '标题3'; } + .ql-snow .ql-picker.ql-header .ql-picker-label[data-value='4']::before, .ql-snow .ql-picker.ql-header .ql-picker-item[data-value='4']::before { content: '标题4'; } + .ql-snow .ql-picker.ql-header .ql-picker-label[data-value='5']::before, .ql-snow .ql-picker.ql-header .ql-picker-item[data-value='5']::before { content: '标题5'; } + .ql-snow .ql-picker.ql-header .ql-picker-label[data-value='6']::before, .ql-snow .ql-picker.ql-header .ql-picker-item[data-value='6']::before { content: '标题6'; } + .ql-snow .ql-picker.ql-font .ql-picker-label::before, .ql-snow .ql-picker.ql-font .ql-picker-item::before { content: '标准字体'; } + .ql-snow .ql-picker.ql-font .ql-picker-label[data-value='serif']::before, .ql-snow .ql-picker.ql-font .ql-picker-item[data-value='serif']::before { content: '衬线字体'; } + .ql-snow .ql-picker.ql-font .ql-picker-label[data-value='monospace']::before, .ql-snow .ql-picker.ql-font .ql-picker-item[data-value='monospace']::before { content: '等宽字体'; diff --git a/src/components/FileUpload/index.vue b/src/components/FileUpload/index.vue index 8bfd847..265c016 100644 --- a/src/components/FileUpload/index.vue +++ b/src/components/FileUpload/index.vue @@ -1,11 +1,29 @@ - + @@ -58,18 +53,12 @@ diff --git a/src/views/out/settlementValueSubcontract/index.vue b/src/views/out/settlementValueSubcontract/index.vue index d25c1fd..99480d8 100644 --- a/src/views/out/settlementValueSubcontract/index.vue +++ b/src/views/out/settlementValueSubcontract/index.vue @@ -28,23 +28,12 @@ 新增 - - 删除 - - + @@ -65,24 +54,12 @@ diff --git a/src/views/patch/index.vue b/src/views/patch/index.vue index 149aea8..3f87d2e 100644 --- a/src/views/patch/index.vue +++ b/src/views/patch/index.vue @@ -21,11 +21,11 @@ @@ -67,11 +67,8 @@ @@ -79,8 +76,10 @@
- - 新增进度 + + + 新增进度 +
@@ -97,10 +96,10 @@ @@ -110,7 +109,7 @@ icon="Delete" size="small" @click="handleProgressDelete(scope.row)" - v-hasPermi="['patch:progress:remove']" + v-hasPermi="['patch:master:removeProgress']" > @@ -631,7 +630,9 @@ const handleProgressInput = () => { const handleExport = () => { proxy?.download('patch/patch/export', { ...queryParams.value }, `任务列表_${new Date().getTime()}.xlsx`); }; - +onMounted(() => { + getList(); +}); // 监听项目id刷新数据 const listeningProject = watch( () => currentProject.value?.id, @@ -651,12 +652,15 @@ onUnmounted(() => { .mb-4 { margin-bottom: 16px; } + .el-table .small-padding .cell { padding: 0 5px; } + .el-table .fixed-width { width: 120px !important; } + .el-table-column .el-button--text + .el-button--text { margin-left: 10px; } diff --git a/src/views/progress/constructionSchedulePlan/index.vue b/src/views/progress/constructionSchedulePlan/index.vue index 732b3e7..5342916 100644 --- a/src/views/progress/constructionSchedulePlan/index.vue +++ b/src/views/progress/constructionSchedulePlan/index.vue @@ -43,7 +43,7 @@ > - + diff --git a/src/views/progress/progressCategoryTemplate/index.vue b/src/views/progress/progressCategoryTemplate/index.vue index 0b29e10..a4bc971 100644 --- a/src/views/progress/progressCategoryTemplate/index.vue +++ b/src/views/progress/progressCategoryTemplate/index.vue @@ -20,60 +20,70 @@ + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - @@ -96,10 +106,16 @@ - + + + + + + + @@ -119,7 +135,9 @@ import { addProgressCategoryTemplate, delProgressCategoryTemplate, getProgressCategoryTemplate, + getTabList, listProgressCategoryTemplate, + listProgressCategoryTemplateByParent, updateProgressCategoryTemplate } from '@/api/progress/progressCategoryTemplate'; import { @@ -135,6 +153,8 @@ type ProgressCategoryTemplateOption = { name: string; children?: ProgressCategoryTemplateOption[]; }; +const activeTab = ref('0'); +const tabList = ref([]); const { proxy } = getCurrentInstance() as ComponentInternalInstance; @@ -186,7 +206,8 @@ const data = reactive { loading.value = true; - const res = await listProgressCategoryTemplate(queryParams.value); + const res = await listProgressCategoryTemplateByParent(activeTab.value); const data = proxy?.handleTree(res.data, 'id', 'parentId'); if (data) { progressCategoryTemplateList.value = data; @@ -205,7 +226,7 @@ const getList = async () => { /** 查询进度类别模版下拉树结构 */ const getTreeselect = async () => { - const res = await listProgressCategoryTemplate(); + const res = await listProgressCategoryTemplate({ projectId: queryParams.value.projectId }); progressCategoryTemplateOptions.value = []; const data: ProgressCategoryTemplateOption = { id: 0, name: '顶级节点', children: [] }; data.children = proxy?.handleTree(res.data, 'id', 'parentId'); @@ -310,7 +331,11 @@ const getSubProjectList = async () => { const res = await getChildProject(currentProject.value?.id); projectSon.value = res.data; queryParams.value.projectId = projectSon.value[0]?.id; - getList(); + getTabList(queryParams.value.projectId as string).then((res) => { + tabList.value = res.data; + activeTab.value = res.data[0]?.id; + getList(); + }); }; onMounted(() => { diff --git a/src/views/project/attendance/index.vue b/src/views/project/attendance/index.vue index 7634fdb..73ec6de 100644 --- a/src/views/project/attendance/index.vue +++ b/src/views/project/attendance/index.vue @@ -87,11 +87,11 @@ - + @@ -347,10 +347,10 @@ const getList = async () => { /** 查询近两周考勤列表 */ const getListTwoWeek = async () => { loading.value = true; - const res = await listAttendanceTwoWeek(queryParams.value); - attendanceTwoWeekList.value = res.data; - echartsOption.value = { ...option(attendanceTwoWeekList.value) }; - commandstatsIntance.value.setOption(echartsOption.value); + // const res = await listAttendanceTwoWeek(queryParams.value); + // attendanceTwoWeekList.value = res.data; + // echartsOption.value = { ...option(attendanceTwoWeekList.value) }; + // commandstatsIntance.value.setOption(echartsOption.value); }; /** 取消按钮 */ diff --git a/src/views/project/contractor/index.vue b/src/views/project/contractor/index.vue index 4bfcdc8..6b8953b 100644 --- a/src/views/project/contractor/index.vue +++ b/src/views/project/contractor/index.vue @@ -81,6 +81,11 @@ + + + + + @@ -121,6 +126,7 @@ import { ContractorForm, ContractorQuery, ContractorVO } from '@/api/project/con import ContractorFileDialog from '@/views/project/contractor/component/ContractorFileDialog.vue'; import { useUserStoreHook } from '@/store/modules/user'; import { getDicts, listData } from '@/api/system/dict/data'; +import { listSupplierInput } from '@/api/supplierInput/supplierInput'; const { proxy } = getCurrentInstance() as ComponentInternalInstance; @@ -152,6 +158,8 @@ const initFormData: ContractorForm = { principalPhone: undefined, custodian: undefined, custodianPhone: undefined, + supplierId: undefined, + supplier: undefined, contractorType: undefined, fileMap: undefined, remark: undefined, @@ -257,6 +265,8 @@ const submitForm = () => { if (valid) { form.value.projectId = currentProject.value?.id; buttonLoading.value = true; + form.value.supplier = supplierOptions.value.find((item) => item.id == form.value.supplierId)?.supplierName; + if (form.value.id) { await updateContractor(form.value).finally(() => (buttonLoading.value = false)); } else { @@ -278,15 +288,16 @@ const handleDelete = async (row?: ContractorVO) => { await getList(); }; -/** 导出按钮操作 */ -const handleExport = () => { - proxy?.download( - 'project/contractor/export', - { - ...queryParams.value - }, - `contractor_${new Date().getTime()}.xlsx` - ); +/** 获取供应商 */ +const supplierOptions = ref([]); +const getSupplierList = async () => { + const res = await listSupplierInput({ + projectId: currentProject.value?.id, + pageNum: 1, + state: 'finish', + pageSize: 10000 + }); + supplierOptions.value = res.rows; }; /** 文件操作 **/ @@ -304,6 +315,7 @@ const listeningProject = watch( queryParams.value.projectId = nid; form.value.projectId = nid; console.log('监听项目id', queryParams.value.projectId, form.value.projectId); + getSupplierList(); getList(); } ); @@ -314,5 +326,6 @@ onUnmounted(() => { onMounted(() => { getDictList(); getList(); + getSupplierList(); }); diff --git a/src/views/project/landTransfer/BasicData/enterRoad/index.vue b/src/views/project/landTransfer/BasicData/enterRoad/index.vue index ab1ae32..10a765e 100644 --- a/src/views/project/landTransfer/BasicData/enterRoad/index.vue +++ b/src/views/project/landTransfer/BasicData/enterRoad/index.vue @@ -27,10 +27,24 @@ 新增 + - 删除 + + + + + 导出模版 @@ -83,7 +97,7 @@ @@ -92,7 +106,7 @@ + diff --git a/src/views/project/landTransfer/BusinessLedger/landTransferLedgerFangzhen/index.vue b/src/views/project/landTransfer/BusinessLedger/landTransferLedgerFangzhen/index.vue index 4de4cb7..ff53174 100644 --- a/src/views/project/landTransfer/BusinessLedger/landTransferLedgerFangzhen/index.vue +++ b/src/views/project/landTransfer/BusinessLedger/landTransferLedgerFangzhen/index.vue @@ -142,7 +142,7 @@ diff --git a/src/views/project/landTransfer/BusinessLedger/nonTransferLedger/index.vue b/src/views/project/landTransfer/BusinessLedger/nonTransferLedger/index.vue index 2daab93..cae05e3 100644 --- a/src/views/project/landTransfer/BusinessLedger/nonTransferLedger/index.vue +++ b/src/views/project/landTransfer/BusinessLedger/nonTransferLedger/index.vue @@ -145,7 +145,7 @@ diff --git a/src/views/project/project/index.vue b/src/views/project/project/index.vue index 31a0bbd..dc8ec1b 100644 --- a/src/views/project/project/index.vue +++ b/src/views/project/project/index.vue @@ -46,7 +46,9 @@ @@ -139,7 +139,7 @@ const onRecyclingStation = (row: any, flag: boolean) => { }); } }) - .catch(() => {}); + .catch(() => { }); }; const filterfilenPath = (val: string): string => { @@ -155,6 +155,7 @@ defineExpose({ .colBlock { display: block; } + .colNone { display: none; } diff --git a/src/views/quality/knowledgeDocument/index.vue b/src/views/quality/knowledgeDocument/index.vue index 2d68be4..595db09 100644 --- a/src/views/quality/knowledgeDocument/index.vue +++ b/src/views/quality/knowledgeDocument/index.vue @@ -5,48 +5,39 @@
-
- +
+ + - 上传文件 + + + 上传文件
- 下载 - 查看全项目文件 + + + 下载 + + + 查看全项目文件
- + @@ -59,22 +50,18 @@ - + - 搜索 - 重置 + + + 搜索 + + + 重置 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 缓存 + 不缓存 + + + + + + + + {{ dict.label }} + + + + + + + + + {{ dict.label }} + + + + + + + + +
+ + + diff --git a/src/views/system/appRole/authUser.vue b/src/views/system/appRole/authUser.vue new file mode 100644 index 0000000..0af7b6d --- /dev/null +++ b/src/views/system/appRole/authUser.vue @@ -0,0 +1,160 @@ + + + + + diff --git a/src/views/system/appRole/index.vue b/src/views/system/appRole/index.vue new file mode 100644 index 0000000..78bea58 --- /dev/null +++ b/src/views/system/appRole/index.vue @@ -0,0 +1,574 @@ + + + diff --git a/src/views/system/appRole/selectUser.vue b/src/views/system/appRole/selectUser.vue new file mode 100644 index 0000000..e55120a --- /dev/null +++ b/src/views/system/appRole/selectUser.vue @@ -0,0 +1,132 @@ + + + + + diff --git a/src/views/system/dept/index.vue b/src/views/system/dept/index.vue index 82bf50f..e8c763e 100644 --- a/src/views/system/dept/index.vue +++ b/src/views/system/dept/index.vue @@ -68,7 +68,7 @@ - + @@ -135,25 +135,11 @@ - + - - - - - - - - - - - - - - + @@ -77,7 +81,7 @@ - + @@ -103,7 +107,6 @@ - @@ -122,10 +125,9 @@ @@ -139,9 +141,7 @@