fix : 修改分类分级
Showing
10 changed files
with
371 additions
and
62 deletions
| ... | @@ -4,7 +4,7 @@ import router from '@/router' | ... | @@ -4,7 +4,7 @@ import router from '@/router' |
| 4 | import { ElMessage } from 'element-plus' | 4 | import { ElMessage } from 'element-plus' |
| 5 | import apiUser from '@/api/modules/user' | 5 | import apiUser from '@/api/modules/user' |
| 6 | import { getCurrentTime } from '@/utils/common' | 6 | import { getCurrentTime } from '@/utils/common' |
| 7 | import { getSystemMenu, getUserInfo, getTokenByCode, loginOut, refreshToken, editPasswordInterface } from '@/api/modules/queryService' | 7 | import { getSystemMenu, getUserInfo, getTokenByCode, loginOut, refreshToken, editPasswordInterface, getCurrentUserInfo } from '@/api/modules/queryService' |
| 8 | 8 | ||
| 9 | const useUserStore = defineStore( | 9 | const useUserStore = defineStore( |
| 10 | // 唯一ID | 10 | // 唯一ID |
| ... | @@ -56,6 +56,14 @@ const useUserStore = defineStore( | ... | @@ -56,6 +56,14 @@ const useUserStore = defineStore( |
| 56 | currentTenantGuid.value = res.data.tenantInfoList && res.data.tenantInfoList.length ? res.data.tenantInfoList[0].guid : ''; | 56 | currentTenantGuid.value = res.data.tenantInfoList && res.data.tenantInfoList.length ? res.data.tenantInfoList[0].guid : ''; |
| 57 | localStorage.setItem('currentTenantGuid', currentTenantGuid.value); | 57 | localStorage.setItem('currentTenantGuid', currentTenantGuid.value); |
| 58 | let currentTenant = res.data.tenantInfoList?.[0]; | 58 | let currentTenant = res.data.tenantInfoList?.[0]; |
| 59 | getCurrentUserInfo(currentTenantGuid.value).then((res: any) => { | ||
| 60 | console.log(res, 'getCurrentUserInfo'); | ||
| 61 | if (res.code == '00000') { | ||
| 62 | localStorage.setItem('userData', JSON.stringify(res.data)); | ||
| 63 | } else { | ||
| 64 | ElMessage.error(res.msg) | ||
| 65 | } | ||
| 66 | }) | ||
| 59 | return getSystemMenu({ tenantGuid: currentTenantGuid.value }).then((info: any) => { | 67 | return getSystemMenu({ tenantGuid: currentTenantGuid.value }).then((info: any) => { |
| 60 | if (info.code == '00000') { | 68 | if (info.code == '00000') { |
| 61 | localStorage.setItem('userName', currentTenant?.name) | 69 | localStorage.setItem('userName', currentTenant?.name) | ... | ... |
| ... | @@ -492,18 +492,17 @@ const importTableEditIndex: any = ref(null); | ... | @@ -492,18 +492,17 @@ const importTableEditIndex: any = ref(null); |
| 492 | const addAssetTable = () => { | 492 | const addAssetTable = () => { |
| 493 | importTableFieldVisible.value = true; | 493 | importTableFieldVisible.value = true; |
| 494 | } | 494 | } |
| 495 | const stuffInfo = ref<any>({}); | 495 | |
| 496 | onBeforeMount(() => { | 496 | onBeforeMount(() => { |
| 497 | const currentTenantGuid = localStorage.getItem('currentTenantGuid'); | 497 | // const currentTenantGuid = localStorage.getItem('currentTenantGuid'); |
| 498 | getCurrentUserInfo(currentTenantGuid).then((res: any) => { | 498 | // getCurrentUserInfo(currentTenantGuid).then((res: any) => { |
| 499 | console.log(res, 'getCurrentUserInfo'); | 499 | // console.log(res, 'getCurrentUserInfo'); |
| 500 | if (res.code == '00000') { | 500 | // if (res.code == '00000') { |
| 501 | localStorage.setItem('userData', JSON.stringify(res.data)); | 501 | // localStorage.setItem('userData', JSON.stringify(res.data)); |
| 502 | stuffInfo.value = res.data; | 502 | // } else { |
| 503 | } else { | 503 | // ElMessage.error(res.msg) |
| 504 | ElMessage.error(res.msg) | 504 | // } |
| 505 | } | 505 | // }) |
| 506 | }) | ||
| 507 | getParentAreaPromise.value = getAreaData({ parentId: null }).then((res: any) => { | 506 | getParentAreaPromise.value = getAreaData({ parentId: null }).then((res: any) => { |
| 508 | if (res?.code == proxy.$passCode) { | 507 | if (res?.code == proxy.$passCode) { |
| 509 | parentAreaData.value = res.data ?? []; | 508 | parentAreaData.value = res.data ?? []; |
| ... | @@ -662,10 +661,6 @@ const save = () => { | ... | @@ -662,10 +661,6 @@ const save = () => { |
| 662 | }); | 661 | }); |
| 663 | } else { | 662 | } else { |
| 664 | params.damCatalogTableInfo = assetDataTableInfo.value.data; | 663 | params.damCatalogTableInfo = assetDataTableInfo.value.data; |
| 665 | params.damCatalogTableInfo = { | ||
| 666 | ...assetDataTableInfo.value.data, | ||
| 667 | stuffGuid: stuffInfo.value.staffGuid | ||
| 668 | }; | ||
| 669 | fullscreenLoading.value = true; | 664 | fullscreenLoading.value = true; |
| 670 | registerCatalogSave(params).then((res: any) => { | 665 | registerCatalogSave(params).then((res: any) => { |
| 671 | fullscreenLoading.value = false; | 666 | fullscreenLoading.value = false; | ... | ... |
| ... | @@ -26,7 +26,13 @@ const assetStore = useDataAssetStore(); | ... | @@ -26,7 +26,13 @@ const assetStore = useDataAssetStore(); |
| 26 | const router = useRouter(); | 26 | const router = useRouter(); |
| 27 | const { proxy } = getCurrentInstance() as any; | 27 | const { proxy } = getCurrentInstance() as any; |
| 28 | const damTypes: any = ref([]); | 28 | const damTypes: any = ref([]); |
| 29 | const dataSources: any = ref([]); | ||
| 29 | const subjectDomainListData: any = ref([]) | 30 | const subjectDomainListData: any = ref([]) |
| 31 | // 登记状态 Y 已登记 N 未登记 | ||
| 32 | const isRegisterOptions = ref<any>([ | ||
| 33 | { label: "已登记", value: "Y" }, | ||
| 34 | { label: "未登记", value: "N" }, | ||
| 35 | ]) | ||
| 30 | const searchItemList = ref([ | 36 | const searchItemList = ref([ |
| 31 | { | 37 | { |
| 32 | type: "input", | 38 | type: "input", |
| ... | @@ -73,23 +79,37 @@ const searchItemList = ref([ | ... | @@ -73,23 +79,37 @@ const searchItemList = ref([ |
| 73 | showCheckbox: true | 79 | showCheckbox: true |
| 74 | }, | 80 | }, |
| 75 | { | 81 | { |
| 76 | type: "input", | 82 | type: "select", |
| 77 | label: "", | 83 | label: "", |
| 78 | field: "damName", | 84 | field: "dataSources", |
| 79 | default: "", | 85 | default: "", |
| 80 | placeholder: "来源", | 86 | placeholder: "数据来源", |
| 81 | clearable: true, | 87 | clearable: true, |
| 88 | filterable: true, | ||
| 89 | options: dataSources.value, | ||
| 90 | props: { | ||
| 91 | value: 'value', | ||
| 92 | label: 'label' | ||
| 93 | } | ||
| 82 | }, | 94 | }, |
| 83 | { | 95 | { |
| 84 | type: "input", | 96 | type: "select", |
| 85 | label: "", | 97 | label: "", |
| 86 | field: "damName", | 98 | field: "isRegister", |
| 87 | default: "", | 99 | default: "", |
| 88 | placeholder: "登记状态", | 100 | placeholder: "登记状态", |
| 89 | clearable: true, | 101 | clearable: true, |
| 102 | filterable: true, | ||
| 103 | options: isRegisterOptions.value, | ||
| 104 | props: { | ||
| 105 | value: 'value', | ||
| 106 | label: 'label' | ||
| 107 | } | ||
| 90 | }, | 108 | }, |
| 91 | ]); | 109 | ]); |
| 92 | 110 | ||
| 111 | |||
| 112 | |||
| 93 | const pageInfo = ref({ | 113 | const pageInfo = ref({ |
| 94 | ...commonPageConfig, | 114 | ...commonPageConfig, |
| 95 | rows: 0, | 115 | rows: 0, |
| ... | @@ -218,6 +238,18 @@ onActivated(() => { | ... | @@ -218,6 +238,18 @@ onActivated(() => { |
| 218 | 238 | ||
| 219 | onBeforeMount(() => { | 239 | onBeforeMount(() => { |
| 220 | getDamTypesList({ | 240 | getDamTypesList({ |
| 241 | dictType: "数据来源", | ||
| 242 | }).then((res: any) => { | ||
| 243 | if (res.code == proxy.$passCode) { | ||
| 244 | dataSources.value = res.data || []; | ||
| 245 | let item = searchItemList.value.find(item => item.field == 'dataSources'); | ||
| 246 | item && (item.options = dataSources.value); | ||
| 247 | } else { | ||
| 248 | proxy.$ElMessage.error(res.msg); | ||
| 249 | } | ||
| 250 | }) | ||
| 251 | |||
| 252 | getDamTypesList({ | ||
| 221 | dictType: "资产类型", | 253 | dictType: "资产类型", |
| 222 | }).then((res: any) => { | 254 | }).then((res: any) => { |
| 223 | if (res.code == proxy.$passCode) { | 255 | if (res.code == proxy.$passCode) { |
| ... | @@ -284,6 +316,8 @@ const handleCreate = () => { | ... | @@ -284,6 +316,8 @@ const handleCreate = () => { |
| 284 | <div class="type-btn"> | 316 | <div class="type-btn"> |
| 285 | <div class="type">{{ item.subjectDomainName || item.subjectDomain }}</div> | 317 | <div class="type">{{ item.subjectDomainName || item.subjectDomain }}</div> |
| 286 | <div class="type">{{ item.damTypeName || '--' }}</div> | 318 | <div class="type">{{ item.damTypeName || '--' }}</div> |
| 319 | <div class="type">{{ item.isRegister == 'Y' ? '已登记' : '未登记' }}</div> | ||
| 320 | <div class="type">{{ item.foundMode == '1' ? '自建' : '加工交付' }}</div> | ||
| 287 | </div> | 321 | </div> |
| 288 | <div class="desc">{{ item.propertyDescription }}</div> | 322 | <div class="desc">{{ item.propertyDescription }}</div> |
| 289 | <el-popover v-model="cardBtnVisible" placement="bottom" width="96" trigger="click" | 323 | <el-popover v-model="cardBtnVisible" placement="bottom" width="96" trigger="click" | ... | ... |
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
| ... | @@ -146,7 +146,7 @@ const orginItems = [ | ... | @@ -146,7 +146,7 @@ const orginItems = [ |
| 146 | { | 146 | { |
| 147 | label: '字典中文名', | 147 | label: '字典中文名', |
| 148 | type: 'input', | 148 | type: 'input', |
| 149 | maxlength: 50, | 149 | maxlength: 20, |
| 150 | placeholder: '请输入', | 150 | placeholder: '请输入', |
| 151 | field: 'chName', | 151 | field: 'chName', |
| 152 | clearable: true, | 152 | clearable: true, |
| ... | @@ -155,7 +155,7 @@ const orginItems = [ | ... | @@ -155,7 +155,7 @@ const orginItems = [ |
| 155 | }, { | 155 | }, { |
| 156 | label: '字典英文名', | 156 | label: '字典英文名', |
| 157 | type: 'input', | 157 | type: 'input', |
| 158 | maxlength: 50, | 158 | maxlength: 20, |
| 159 | placeholder: '请输入', | 159 | placeholder: '请输入', |
| 160 | field: 'enName', | 160 | field: 'enName', |
| 161 | clearable: true, | 161 | clearable: true, | ... | ... |
| ... | @@ -7,7 +7,7 @@ import Moment from 'moment'; | ... | @@ -7,7 +7,7 @@ import Moment from 'moment'; |
| 7 | import { | 7 | import { |
| 8 | getDsTableByDs, | 8 | getDsTableByDs, |
| 9 | getDsData, | 9 | getDsData, |
| 10 | getDsTableStructure, | 10 | getDsTableStructures, |
| 11 | } from "@/api/modules/dataInventory"; | 11 | } from "@/api/modules/dataInventory"; |
| 12 | 12 | ||
| 13 | 13 | ||
| ... | @@ -199,14 +199,14 @@ const getTableStructure = () => { | ... | @@ -199,14 +199,14 @@ const getTableStructure = () => { |
| 199 | console.log('tableName'); | 199 | console.log('tableName'); |
| 200 | currDsTableStructureLoading.value = true; | 200 | currDsTableStructureLoading.value = true; |
| 201 | currDsTableStructure.value = []; | 201 | currDsTableStructure.value = []; |
| 202 | getDsTableStructure({ | 202 | getDsTableStructures([{ |
| 203 | // tableName: tableName, | 203 | // tableName: tableName, |
| 204 | // dataSourceGuid: databaseInfo.value.guid, | 204 | // dataSourceGuid: databaseInfo.value.guid, |
| 205 | // database: databaseInfo.value.databaseNameEn, | 205 | // database: databaseInfo.value.databaseNameEn, |
| 206 | // databaseType: databaseInfo.value.databaseType, | 206 | // databaseType: databaseInfo.value.databaseType, |
| 207 | tableGuid: currDatasourceSelect.value.tableGuid, | 207 | tableGuid: currDatasourceSelect.value.tableGuid, |
| 208 | execGuid: props.execGuid | 208 | execGuid: props.execGuid |
| 209 | }).then((res: any) => { | 209 | }]).then((res: any) => { |
| 210 | currDsTableStructureLoading.value = false; | 210 | currDsTableStructureLoading.value = false; |
| 211 | if (res.code == proxy.$passCode) { | 211 | if (res.code == proxy.$passCode) { |
| 212 | currDsTableStructure.value = res.data || []; | 212 | currDsTableStructure.value = res.data || []; |
| ... | @@ -438,6 +438,21 @@ const getTextAlign = (field) => { | ... | @@ -438,6 +438,21 @@ const getTextAlign = (field) => { |
| 438 | <el-table-column prop="fieldName" label="字段英文名" width="150px" align="left" header-align="left" | 438 | <el-table-column prop="fieldName" label="字段英文名" width="150px" align="left" header-align="left" |
| 439 | show-overflow-tooltip> | 439 | show-overflow-tooltip> |
| 440 | </el-table-column> | 440 | </el-table-column> |
| 441 | <!-- 分类 --> | ||
| 442 | <el-table-column prop="classifyDetailNameRoutes" label="分类" width="150px" align="left" header-align="left" | ||
| 443 | show-overflow-tooltip> | ||
| 444 | <template #default="scope"> | ||
| 445 | {{ scope.row['classifyDetailNameRoutes'] ? scope.row['classifyDetailNameRoutes'].join('/') : '--' }} | ||
| 446 | </template> | ||
| 447 | </el-table-column> | ||
| 448 | <el-table-column prop="gradeDetailName" label="分级" width="80px" align="left" header-align="left" | ||
| 449 | show-overflow-tooltip> | ||
| 450 | <template #default="scope"> | ||
| 451 | <span>{{ scope.row['gradeDetailName'] ?? '--' }}</span> | ||
| 452 | </template> | ||
| 453 | </el-table-column> | ||
| 454 | |||
| 455 | |||
| 441 | <el-table-column prop="fieldChName" label="字段名" width="150px" align="left" header-align="left" | 456 | <el-table-column prop="fieldChName" label="字段名" width="150px" align="left" header-align="left" |
| 442 | show-overflow-tooltip> | 457 | show-overflow-tooltip> |
| 443 | <template #default="scope"> | 458 | <template #default="scope"> |
| ... | @@ -472,9 +487,9 @@ const getTextAlign = (field) => { | ... | @@ -472,9 +487,9 @@ const getTextAlign = (field) => { |
| 472 | <span>{{ scope.row['isPrimary'] ?? '--' }}</span> | 487 | <span>{{ scope.row['isPrimary'] ?? '--' }}</span> |
| 473 | </template> | 488 | </template> |
| 474 | </el-table-column> | 489 | </el-table-column> |
| 475 | <el-table-column prop="isNotNull" label="是否必填" width="100px" align="left" header-align="left" | 490 | <el-table-column prop="notNull" label="是否必填" width="100px" align="left" header-align="left" |
| 476 | show-overflow-tooltip> | 491 | show-overflow-tooltip> |
| 477 | <template #default="scope">{{ scope.row['isNotNull'] === 'Y' ? 'N' : 'Y' }}</template> | 492 | <template #default="scope">{{ scope.row['notNull'] ?? '--' }}</template> |
| 478 | </el-table-column> | 493 | </el-table-column> |
| 479 | <el-table-column prop="isFk" label="是否外键" width="100px" align="left" header-align="left" | 494 | <el-table-column prop="isFk" label="是否外键" width="100px" align="left" header-align="left" |
| 480 | show-overflow-tooltip> | 495 | show-overflow-tooltip> | ... | ... |
| ... | @@ -1459,7 +1459,7 @@ const saveTable = async () => { | ... | @@ -1459,7 +1459,7 @@ const saveTable = async () => { |
| 1459 | gradeDetailName: item.gradeDetailName, | 1459 | gradeDetailName: item.gradeDetailName, |
| 1460 | guid: item.guid, | 1460 | guid: item.guid, |
| 1461 | isFk: item.isFk, | 1461 | isFk: item.isFk, |
| 1462 | notNull: item.isNotNull, | 1462 | notNull: item.notNull, |
| 1463 | isPrimary: item.isPrimary, | 1463 | isPrimary: item.isPrimary, |
| 1464 | sortValue: item.sortValue, | 1464 | sortValue: item.sortValue, |
| 1465 | tableChName: addInfo.chName, | 1465 | tableChName: addInfo.chName, |
| ... | @@ -1584,7 +1584,7 @@ const saveDraftTable = async () => { | ... | @@ -1584,7 +1584,7 @@ const saveDraftTable = async () => { |
| 1584 | gradeDetailName: item.gradeDetailName, | 1584 | gradeDetailName: item.gradeDetailName, |
| 1585 | guid: item.guid, | 1585 | guid: item.guid, |
| 1586 | isFk: item.isFk, | 1586 | isFk: item.isFk, |
| 1587 | isNotNull: item.isNotNull, | 1587 | isNotNull: item.notNull, |
| 1588 | isPrimary: item.isPrimary, | 1588 | isPrimary: item.isPrimary, |
| 1589 | sortValue: item.sortValue, | 1589 | sortValue: item.sortValue, |
| 1590 | tableChName: addInfo.chName, | 1590 | tableChName: addInfo.chName, | ... | ... |
| ... | @@ -16,6 +16,9 @@ import TableTools from "@/components/Tools/table_tools.vue"; | ... | @@ -16,6 +16,9 @@ import TableTools from "@/components/Tools/table_tools.vue"; |
| 16 | import Table from "@/components/Table/index.vue"; | 16 | import Table from "@/components/Table/index.vue"; |
| 17 | import Dialog from "@/components/Dialog/index.vue"; | 17 | import Dialog from "@/components/Dialog/index.vue"; |
| 18 | import { getDamTypesList } from "@/api/modules/dataAsset"; | 18 | import { getDamTypesList } from "@/api/modules/dataAsset"; |
| 19 | import { | ||
| 20 | changeNum, | ||
| 21 | } from "@/utils/common"; | ||
| 19 | 22 | ||
| 20 | const { proxy } = getCurrentInstance() as any; | 23 | const { proxy } = getCurrentInstance() as any; |
| 21 | const router = useRouter(); | 24 | const router = useRouter(); |
| ... | @@ -226,6 +229,17 @@ const toPatn = (type) => { | ... | @@ -226,6 +229,17 @@ const toPatn = (type) => { |
| 226 | }); | 229 | }); |
| 227 | } | 230 | } |
| 228 | } | 231 | } |
| 232 | const toPatn1 = (type, type1) => { | ||
| 233 | if (type == 'add') { | ||
| 234 | router.push({ | ||
| 235 | name: "productListingDetail", | ||
| 236 | query: { | ||
| 237 | type, | ||
| 238 | type1 | ||
| 239 | }, | ||
| 240 | }); | ||
| 241 | } | ||
| 242 | } | ||
| 229 | 243 | ||
| 230 | const tablePageChange = (info) => { | 244 | const tablePageChange = (info) => { |
| 231 | page.value.curr = Number(info.curr); | 245 | page.value.curr = Number(info.curr); |
| ... | @@ -298,6 +312,16 @@ onBeforeMount(() => { | ... | @@ -298,6 +312,16 @@ onBeforeMount(() => { |
| 298 | }) | 312 | }) |
| 299 | }) | 313 | }) |
| 300 | 314 | ||
| 315 | const defaultItemLogo = new URL('@/assets/images/home-finance-product.png', import.meta.url).href | ||
| 316 | const demandListData: any = ref([ | ||
| 317 | { companyName: '北数所', listedNum: 16, processNum: 1235 }, | ||
| 318 | { companyName: '深数所', listedNum: 16, processNum: 1235 }, | ||
| 319 | { companyName: '苏数所', listedNum: 16, processNum: 1235 }, | ||
| 320 | ]); | ||
| 321 | const btnClick = (btn) => { | ||
| 322 | } | ||
| 323 | |||
| 324 | |||
| 301 | </script> | 325 | </script> |
| 302 | 326 | ||
| 303 | <template> | 327 | <template> |
| ... | @@ -306,6 +330,32 @@ onBeforeMount(() => { | ... | @@ -306,6 +330,32 @@ onBeforeMount(() => { |
| 306 | <TableTools :searchItems="searchItemList" :searchId="'data-source-search'" @search="toSearch" /> | 330 | <TableTools :searchItems="searchItemList" :searchId="'data-source-search'" @search="toSearch" /> |
| 307 | <div class="tools_btns"> | 331 | <div class="tools_btns"> |
| 308 | <el-button type="primary" @click="toPatn('add')" v-preReClick>新建</el-button> | 332 | <el-button type="primary" @click="toPatn('add')" v-preReClick>新建</el-button> |
| 333 | <el-button type="primary" @click="toPatn1('add', 'add1')" v-preReClick>新建</el-button> | ||
| 334 | </div> | ||
| 335 | </div> | ||
| 336 | <div class="list-content"> | ||
| 337 | <div class="card-content" v-for="item in demandListData" :key="item.guid"> | ||
| 338 | <div class="header"> | ||
| 339 | <img class="left-img" :src="(item.picUrl && typeof item.picUrl == 'string') ? item.picUrl : defaultItemLogo" | ||
| 340 | alt="" /> | ||
| 341 | <div class="right-main"> | ||
| 342 | <div class="title">{{ item.companyName ?? '--' }}</div> | ||
| 343 | <div class="count-group"> | ||
| 344 | <div class="count-item"> | ||
| 345 | <div class="item-label">已上架产品数</div> | ||
| 346 | <div class="item-num">{{ changeNum(item.listedNum) }}</div> | ||
| 347 | </div> | ||
| 348 | <div class="count-item"> | ||
| 349 | <div class="item-label">审批中产品数</div> | ||
| 350 | <div class="item-num">{{ changeNum(item.processNum) }}</div> | ||
| 351 | </div> | ||
| 352 | </div> | ||
| 353 | </div> | ||
| 354 | </div> | ||
| 355 | <div class="operator-btn"> | ||
| 356 | <div class="left-btn borderRight" @click="btnClick(item)">更新模板</div> | ||
| 357 | <div class="left-btn" @click="btnClick(item)">资产登记</div> | ||
| 358 | </div> | ||
| 309 | </div> | 359 | </div> |
| 310 | </div> | 360 | </div> |
| 311 | <div class="table_panel_wrap"> | 361 | <div class="table_panel_wrap"> |
| ... | @@ -328,7 +378,87 @@ onBeforeMount(() => { | ... | @@ -328,7 +378,87 @@ onBeforeMount(() => { |
| 328 | 378 | ||
| 329 | .table_panel_wrap { | 379 | .table_panel_wrap { |
| 330 | width: 100%; | 380 | width: 100%; |
| 331 | height: calc(100% - 84px); | 381 | height: calc(100% - 270px); |
| 332 | padding: 0px 8px 0; | 382 | padding: 0px 8px 0; |
| 333 | } | 383 | } |
| 384 | |||
| 385 | .list-content { | ||
| 386 | display: flex; | ||
| 387 | justify-content: space-between; | ||
| 388 | flex-wrap: wrap; | ||
| 389 | margin-bottom: 8px; | ||
| 390 | padding: 0 8px; | ||
| 391 | |||
| 392 | .card-content { | ||
| 393 | width: calc(33.33% - 10px); | ||
| 394 | padding: 16px; | ||
| 395 | box-shadow: 0 0 0 1px #d9d9d9; | ||
| 396 | |||
| 397 | .header { | ||
| 398 | display: flex; | ||
| 399 | margin-bottom: 16px; | ||
| 400 | |||
| 401 | img { | ||
| 402 | width: 80px; | ||
| 403 | margin-right: 16px; | ||
| 404 | } | ||
| 405 | |||
| 406 | .title { | ||
| 407 | font-size: 16px; | ||
| 408 | color: #212121; | ||
| 409 | font-weight: 600; | ||
| 410 | margin-bottom: 8px; | ||
| 411 | } | ||
| 412 | |||
| 413 | .right-main { | ||
| 414 | width: calc(100% - 96px); | ||
| 415 | display: flex; | ||
| 416 | flex-direction: column; | ||
| 417 | justify-content: space-between; | ||
| 418 | |||
| 419 | .count-group { | ||
| 420 | display: flex; | ||
| 421 | justify-content: space-between; | ||
| 422 | |||
| 423 | .item-num { | ||
| 424 | font-size: 20px; | ||
| 425 | font-weight: 600; | ||
| 426 | color: #212121; | ||
| 427 | margin-top: 8px; | ||
| 428 | } | ||
| 429 | } | ||
| 430 | } | ||
| 431 | } | ||
| 432 | |||
| 433 | .operator-btn { | ||
| 434 | display: flex; | ||
| 435 | justify-content: space-between; | ||
| 436 | align-items: center; | ||
| 437 | box-shadow: 0 0 0 1px #d9d9d9; | ||
| 438 | position: relative; | ||
| 439 | |||
| 440 | &::after { | ||
| 441 | content: ''; | ||
| 442 | width: 0; | ||
| 443 | height: 100%; | ||
| 444 | border-left: 1px solid #d9d9d9; | ||
| 445 | position: absolute; | ||
| 446 | left: 50%; | ||
| 447 | transform: translateX(-50%); | ||
| 448 | } | ||
| 449 | |||
| 450 | >.left-btn { | ||
| 451 | width: 50%; | ||
| 452 | height: 40px; | ||
| 453 | line-height: 40px; | ||
| 454 | text-align: center; | ||
| 455 | cursor: pointer; | ||
| 456 | |||
| 457 | &:hover { | ||
| 458 | color: #4fa1a4; | ||
| 459 | } | ||
| 460 | } | ||
| 461 | } | ||
| 462 | } | ||
| 463 | } | ||
| 334 | </style> | 464 | </style> | ... | ... |
| ... | @@ -167,6 +167,17 @@ const formInfo = ref({ | ... | @@ -167,6 +167,17 @@ const formInfo = ref({ |
| 167 | required: true, | 167 | required: true, |
| 168 | }, | 168 | }, |
| 169 | { | 169 | { |
| 170 | label: '证书编号', | ||
| 171 | type: 'input', | ||
| 172 | maxlength: 50, | ||
| 173 | placeholder: '请输入', | ||
| 174 | field: 'damCode', | ||
| 175 | default: '', | ||
| 176 | disabled: true, | ||
| 177 | required: true, | ||
| 178 | visible: true | ||
| 179 | }, | ||
| 180 | { | ||
| 170 | label: "数据时间范围", | 181 | label: "数据时间范围", |
| 171 | type: "date-picker", | 182 | type: "date-picker", |
| 172 | field: "dateRange", | 183 | field: "dateRange", |
| ... | @@ -194,16 +205,7 @@ const formInfo = ref({ | ... | @@ -194,16 +205,7 @@ const formInfo = ref({ |
| 194 | // default: '', | 205 | // default: '', |
| 195 | // required: true | 206 | // required: true |
| 196 | // }, | 207 | // }, |
| 197 | // { | 208 | |
| 198 | // label: '证书编号', | ||
| 199 | // type: 'input', | ||
| 200 | // maxlength: 50, | ||
| 201 | // placeholder: '请输入', | ||
| 202 | // field: 'damCode', | ||
| 203 | // default: '', | ||
| 204 | // disabled: true, | ||
| 205 | // required: true, | ||
| 206 | // }, | ||
| 207 | { | 209 | { |
| 208 | label: '数据规模(条)', | 210 | label: '数据规模(条)', |
| 209 | type: 'input', | 211 | type: 'input', |
| ... | @@ -360,25 +362,26 @@ const formInfo = ref({ | ... | @@ -360,25 +362,26 @@ const formInfo = ref({ |
| 360 | // clearable: false, | 362 | // clearable: false, |
| 361 | // required: true, | 363 | // required: true, |
| 362 | // }, | 364 | // }, |
| 363 | // { | 365 | { |
| 364 | // label: "上架交易所", | 366 | label: "上架交易所", |
| 365 | // type: "select", | 367 | type: "select", |
| 366 | // placeholder: "请选择", | 368 | placeholder: "请选择", |
| 367 | // field: "exchangeGuids", | 369 | field: "exchangeGuids", |
| 368 | // default: [], | 370 | default: [], |
| 369 | // options: exchangeList.value, | 371 | options: exchangeList.value, |
| 370 | // props: { | 372 | props: { |
| 371 | // value: "guid", | 373 | value: "guid", |
| 372 | // label: "tenantName", | 374 | label: "tenantName", |
| 373 | // }, | 375 | }, |
| 374 | // filterable: true, | 376 | filterable: true, |
| 375 | // clearable: true, | 377 | clearable: true, |
| 376 | // multiple: true, | 378 | multiple: true, |
| 377 | // tagsTooltip: true, | 379 | tagsTooltip: true, |
| 378 | // collapse: true, | 380 | collapse: true, |
| 379 | // disabled: false, | 381 | disabled: false, |
| 380 | // required: true, | 382 | required: true, |
| 381 | // }, | 383 | visible: true |
| 384 | }, | ||
| 382 | { | 385 | { |
| 383 | label: '产品描述', | 386 | label: '产品描述', |
| 384 | type: 'textarea-rich', | 387 | type: 'textarea-rich', |
| ... | @@ -411,9 +414,125 @@ const formInfo = ref({ | ... | @@ -411,9 +414,125 @@ const formInfo = ref({ |
| 411 | field: 'productImg', | 414 | field: 'productImg', |
| 412 | default: [], | 415 | default: [], |
| 413 | limit: 1, | 416 | limit: 1, |
| 414 | block: true, | 417 | block: false, |
| 415 | required: false, | 418 | required: false, |
| 416 | }, { | 419 | }, |
| 420 | { | ||
| 421 | label: '登记证', | ||
| 422 | tip: '支持扩展名:.jpg .png .jpeg', | ||
| 423 | accept: '.jpg, .png, .jpeg ', | ||
| 424 | type: 'upload-file', | ||
| 425 | placeholder: '请选择', | ||
| 426 | field: 'registerImg', | ||
| 427 | default: [], | ||
| 428 | limit: 1, | ||
| 429 | block: false, | ||
| 430 | required: false, | ||
| 431 | visible: true | ||
| 432 | }, | ||
| 433 | { | ||
| 434 | label: '质量评估报告', | ||
| 435 | tip: '支持扩展名:.png .pdf', | ||
| 436 | accept: '.png, .pdf', | ||
| 437 | type: 'upload-file', | ||
| 438 | placeholder: '请选择', | ||
| 439 | field: 'qualityReport', | ||
| 440 | default: [], | ||
| 441 | limit: 1, | ||
| 442 | block: false, | ||
| 443 | required: false, | ||
| 444 | visible: true | ||
| 445 | }, | ||
| 446 | { | ||
| 447 | label: "质量评估机构", | ||
| 448 | type: "select", | ||
| 449 | placeholder: "请选择", | ||
| 450 | field: "qualityOrg", | ||
| 451 | default: '', | ||
| 452 | options: [], | ||
| 453 | props: { | ||
| 454 | value: 'value', | ||
| 455 | label: 'label' | ||
| 456 | }, | ||
| 457 | filterable: true, | ||
| 458 | clearable: true, | ||
| 459 | disabled: false, | ||
| 460 | required: true, | ||
| 461 | visible: true | ||
| 462 | }, | ||
| 463 | { | ||
| 464 | label: '价值评估报告', | ||
| 465 | tip: '支持扩展名:.png .pdf', | ||
| 466 | accept: '.png, .pdf', | ||
| 467 | type: 'upload-file', | ||
| 468 | placeholder: '请选择', | ||
| 469 | field: 'valueReport', | ||
| 470 | default: [], | ||
| 471 | limit: 1, | ||
| 472 | block: false, | ||
| 473 | required: false, | ||
| 474 | visible: true | ||
| 475 | }, | ||
| 476 | { | ||
| 477 | label: "价值评估机构", | ||
| 478 | type: "select", | ||
| 479 | placeholder: "请选择", | ||
| 480 | field: "valueOrg", | ||
| 481 | default: '', | ||
| 482 | options: [], | ||
| 483 | props: { | ||
| 484 | value: 'value', | ||
| 485 | label: 'label' | ||
| 486 | }, | ||
| 487 | filterable: true, | ||
| 488 | clearable: true, | ||
| 489 | disabled: false, | ||
| 490 | required: true, | ||
| 491 | visible: true | ||
| 492 | }, | ||
| 493 | { | ||
| 494 | label: '承诺函', | ||
| 495 | tip: '支持扩展名:.png .pdf', | ||
| 496 | accept: '.png, .pdf', | ||
| 497 | type: 'upload-file', | ||
| 498 | placeholder: '请选择', | ||
| 499 | field: 'commitment', | ||
| 500 | templateUrl: 'http://www.baidu.com', | ||
| 501 | default: [], | ||
| 502 | limit: 1, | ||
| 503 | block: true, | ||
| 504 | required: true, | ||
| 505 | visible: true | ||
| 506 | }, | ||
| 507 | { | ||
| 508 | label: '授权文件', | ||
| 509 | tip: '支持扩展名:.png .pdf', | ||
| 510 | accept: '.png, .pdf', | ||
| 511 | type: 'upload-file', | ||
| 512 | placeholder: '请选择', | ||
| 513 | field: 'authorization', | ||
| 514 | templateUrl: 'http://www.baidu.com', | ||
| 515 | default: [], | ||
| 516 | limit: 1, | ||
| 517 | block: true, | ||
| 518 | required: true, | ||
| 519 | visible: true | ||
| 520 | }, | ||
| 521 | { | ||
| 522 | label: '商品详细介绍(签章版)', | ||
| 523 | tip: '支持扩展名:.png .pdf', | ||
| 524 | accept: '.png, .pdf', | ||
| 525 | type: 'upload-file', | ||
| 526 | placeholder: '请选择', | ||
| 527 | field: 'productDetail', | ||
| 528 | templateUrl: 'http://www.baidu.com', | ||
| 529 | default: [], | ||
| 530 | limit: 1, | ||
| 531 | block: true, | ||
| 532 | required: true, | ||
| 533 | visible: true | ||
| 534 | }, | ||
| 535 | { | ||
| 417 | label: "", | 536 | label: "", |
| 418 | type: "input", | 537 | type: "input", |
| 419 | placeholder: "请输入", | 538 | placeholder: "请输入", |
| ... | @@ -996,6 +1115,14 @@ onActivated(() => { | ... | @@ -996,6 +1115,14 @@ onActivated(() => { |
| 996 | }; | 1115 | }; |
| 997 | }) | 1116 | }) |
| 998 | onBeforeMount(() => { | 1117 | onBeforeMount(() => { |
| 1118 | if (route.query.type == 'add' && !route.query.type1) { | ||
| 1119 | formInfo.value.items.forEach(item => { | ||
| 1120 | if (item.field == 'damCode' || item.field == 'exchangeGuids' || item.field == 'registerImg' || item.field == 'qualityReport' || item.field == 'qualityOrg' || item.field == 'valueReport' || item.field == 'valueOrg' || item.field == 'commitment' || item.field == 'authorization' || item.field == 'productDetail') { | ||
| 1121 | item.visible = false; | ||
| 1122 | } | ||
| 1123 | }) | ||
| 1124 | } | ||
| 1125 | |||
| 999 | getParentAreaPromise.value = getAreaData({ parentId: null }).then((res: any) => { | 1126 | getParentAreaPromise.value = getAreaData({ parentId: null }).then((res: any) => { |
| 1000 | if (res?.code == proxy.$passCode) { | 1127 | if (res?.code == proxy.$passCode) { |
| 1001 | parentAreaData.value = res.data ?? []; | 1128 | parentAreaData.value = res.data ?? []; | ... | ... |
-
Please register or sign in to post a comment