72248eea by xukangle

Merge branch 'develop' into release-test

2 parents 234bcfcf 16de1226
1 <?xml version="1.0" encoding="UTF-8"?>
2 <svg width="32px" height="32px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3 <title>0.全局样式/1.图标/4.基础面性图标/警告</title>
4 <g id="0.全局样式/1.图标/4.基础面性图标/警告" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
5 <path d="M16,2 C23.7319865,2 30,8.2680135 30,16 C30,23.7319865 23.7319865,30 16,30 C8.2680135,30 2,23.7319865 2,16 C2,8.2680135 8.2680135,2 16,2 Z M16,22 C15.1715729,22 14.5,22.6715729 14.5,23.5 C14.5,24.3284271 15.1715729,25 16,25 C16.8284271,25 17.5,24.3284271 17.5,23.5 C17.5,22.6715729 16.8284271,22 16,22 Z M16,7 C15.4477153,7 15,7.44771525 15,8 L15,8 L15,19 C15,19.5522847 15.4477153,20 16,20 C16.5522847,20 17,19.5522847 17,19 L17,19 L17,8 C17,7.44771525 16.5522847,7 16,7 Z" id="形状结合" fill="#FF991C"></path>
6 </g>
7 </svg>
...@@ -66,7 +66,6 @@ onMounted(() => { ...@@ -66,7 +66,6 @@ onMounted(() => {
66 <svg-icon name="ep:caret-bottom" /> 66 <svg-icon name="ep:caret-bottom" />
67 </el-icon> 67 </el-icon>
68 </div> 68 </div>
69
70 </div> 69 </div>
71 <template #dropdown> 70 <template #dropdown>
72 <el-dropdown-menu class="user-dropdown"> 71 <el-dropdown-menu class="user-dropdown">
......
...@@ -54,6 +54,9 @@ const searchItemList = ref([ ...@@ -54,6 +54,9 @@ const searchItemList = ref([
54 props: { 54 props: {
55 value: 'value', 55 value: 'value',
56 label: 'label' 56 label: 'label'
57 },
58 style: {
59 width: '230px'
57 } 60 }
58 }, 61 },
59 { 62 {
...@@ -83,7 +86,7 @@ const searchItemList = ref([ ...@@ -83,7 +86,7 @@ const searchItemList = ref([
83 label: "", 86 label: "",
84 field: "dataSources", 87 field: "dataSources",
85 default: "", 88 default: "",
86 placeholder: "数据来源", 89 placeholder: "产品来源",
87 clearable: true, 90 clearable: true,
88 filterable: true, 91 filterable: true,
89 options: dataSources.value, 92 options: dataSources.value,
...@@ -303,12 +306,19 @@ const handleCreate = () => { ...@@ -303,12 +306,19 @@ const handleCreate = () => {
303 // 定义 ref 和响应式高度 306 // 定义 ref 和响应式高度
304 const tableToolsRef = ref<any>(null); 307 const tableToolsRef = ref<any>(null);
305 const tableToolsHeight = ref<any>(0); 308 const tableToolsHeight = ref<any>(0);
309 const searchHeight = ref<any>(0);
306 310
307 // 获取 TableTools 的高度 311 // 获取 TableTools 的高度
308 const getTableToolsHeight = () => { 312 const getTableToolsHeight = () => {
309 const tableToolsElement: any = tableToolsRef.value; 313 const tableToolsElement: any = tableToolsRef.value;
310 if (tableToolsElement) { 314 if (tableToolsElement) {
315 console.log('tableToolsElement', tableToolsElement.offsetHeight);
311 tableToolsHeight.value = tableToolsElement.offsetHeight; 316 tableToolsHeight.value = tableToolsElement.offsetHeight;
317 if (tableToolsHeight.value > 40 && tableToolsHeight.value < 80) {
318 searchHeight.value = tableToolsHeight.value - 30;
319 } else if (tableToolsHeight.value > 80) {
320 searchHeight.value = tableToolsHeight.value - 78;
321 }
312 } 322 }
313 }; 323 };
314 // 在组件挂载后获取初始高度 324 // 在组件挂载后获取初始高度
...@@ -345,7 +355,7 @@ const handleWindowResize = () => { ...@@ -345,7 +355,7 @@ const handleWindowResize = () => {
345 </div> --> 355 </div> -->
346 </div> 356 </div>
347 <div class="table_panel_wrap" :style="{ height: `calc(100% - ${tableToolsHeight + 60}px)` }"> 357 <div class="table_panel_wrap" :style="{ height: `calc(100% - ${tableToolsHeight + 60}px)` }">
348 <div class="data-content" v-loading="listDataLoading" :style="{ height: `calc(100% - ${tableToolsHeight}px)` }"> 358 <div class="data-content" v-loading="listDataLoading" :style="{ height: `calc(100% - ${searchHeight}px)` }">
349 <div class="v-add" @click.stop="handleCreate"> 359 <div class="v-add" @click.stop="handleCreate">
350 <div class=" add-img"></div> 360 <div class=" add-img"></div>
351 <div class="add-titile"> 361 <div class="add-titile">
...@@ -413,7 +423,7 @@ const handleWindowResize = () => { ...@@ -413,7 +423,7 @@ const handleWindowResize = () => {
413 <div class="right">{{ item.damTypeName || '--' }}</div> 423 <div class="right">{{ item.damTypeName || '--' }}</div>
414 </div> 424 </div>
415 <div class="mid-content"> 425 <div class="mid-content">
416 <div class="left">数据来源</div> 426 <div class="left">产品来源</div>
417 <div class="right">{{ item.foundMode ? (item.foundMode === 1 ? '自建' : '加工交付') : '--' 427 <div class="right">{{ item.foundMode ? (item.foundMode === 1 ? '自建' : '加工交付') : '--'
418 }}</div> 428 }}</div>
419 </div> 429 </div>
...@@ -458,7 +468,7 @@ const handleWindowResize = () => { ...@@ -458,7 +468,7 @@ const handleWindowResize = () => {
458 468
459 :deep(.tools_search) { 469 :deep(.tools_search) {
460 .el-form-item .el-select { 470 .el-form-item .el-select {
461 width: 240px; 471 width: 230px;
462 } 472 }
463 } 473 }
464 474
......
...@@ -168,44 +168,44 @@ const tenantDetail: any = ref({}); ...@@ -168,44 +168,44 @@ const tenantDetail: any = ref({});
168 /** 获取当前登录会员,服务商,企业等详情。 */ 168 /** 获取当前登录会员,服务商,企业等详情。 */
169 const getTenantDetail = () => { 169 const getTenantDetail = () => {
170 let ps: any = [], tentData = {}; 170 let ps: any = [], tentData = {};
171 ps.push(getTenantDetailInfo(userData.tenantGuid).then((res: any) => { 171 ps.push(getTenantDetailInfo(userData.tenantGuid).then((res: any) => {
172 if (res.code == proxy.$passCode) { 172 if (res.code == proxy.$passCode) {
173 const data = res.data ?? {}; 173 const data = res.data ?? {};
174 tentData = {...tentData, ...data}; 174 tentData = { ...tentData, ...data };
175 } else { 175 } else {
176 ElMessage.error(res.msg); 176 ElMessage.error(res.msg);
177 } 177 }
178 })); 178 }));
179 ps.push(getTenantInfo({ tenantName: userData.tenantName }).then((res: any) => { 179 ps.push(getTenantInfo({ tenantName: userData.tenantName }).then((res: any) => {
180 if (res.code == proxy.$passCode) { 180 if (res.code == proxy.$passCode) {
181 const data = res.data ?? {}; 181 const data = res.data ?? {};
182 tentData = {...tentData, ...data}; 182 tentData = { ...tentData, ...data };
183 } else { 183 } else {
184 ElMessage.error(res.msg); 184 ElMessage.error(res.msg);
185 } 185 }
186 })) 186 }))
187 187
188 Promise.all(ps).then(() => { 188 Promise.all(ps).then(() => {
189 tenantDetail.value = tentData; 189 tenantDetail.value = tentData;
190 propertyFormItems.value.forEach((item, index) => { 190 propertyFormItems.value.forEach((item, index) => {
191 if (item.field == 'address' || item.field == 'socialCreditCode' || item.field == 'registrationDate' || item.field == 'businessLicenseStartDate' || item.field == 'businessLicenseEndDate') {//在会员详情处获取。 191 if (item.field == 'address' || item.field == 'socialCreditCode' || item.field == 'registrationDate' || item.field == 'businessLicenseStartDate' || item.field == 'businessLicenseEndDate') {//在会员详情处获取。
192 item.default = tenantDetail.value[item.field]; 192 item.default = tenantDetail.value[item.field];
193 } else if (item.field == 'businessLicenseJson') { 193 } else if (item.field == 'businessLicenseJson') {
194 item.default = tenantDetail.value[item.field] || []; 194 item.default = tenantDetail.value[item.field] || [];
195 if (!item.default.length) { 195 if (!item.default.length) {
196 item.visible = false; 196 item.visible = false;
197 } else { 197 } else {
198 item.visible = true; 198 item.visible = true;
199 }
200 } else if (item.field == 'officeLocation') {
201 if (!guid && tenantDetail.value.province) {
202 item.default = [[tenantDetail.value.province, tenantDetail.value.city]];
203 }
204 } 199 }
205 }); 200 } else if (item.field == 'officeLocation') {
206 }).catch(() => { 201 if (!guid && tenantDetail.value.province) {
207 fullscreenLoading.value = false; 202 item.default = [[tenantDetail.value.province, tenantDetail.value.city]];
203 }
204 }
208 }); 205 });
206 }).catch(() => {
207 fullscreenLoading.value = false;
208 });
209 } 209 }
210 210
211 const setBaseFormItemsValue = (info) => { 211 const setBaseFormItemsValue = (info) => {
...@@ -310,28 +310,28 @@ const setUploadFormItemsValue = (info) => { ...@@ -310,28 +310,28 @@ const setUploadFormItemsValue = (info) => {
310 uploadFormItems.value.forEach(item => { 310 uploadFormItems.value.forEach(item => {
311 if (item.field == 'registerLetter') { 311 if (item.field == 'registerLetter') {
312 let registerLetter = attach.registerLetter ? attach.registerLetter : []; 312 let registerLetter = attach.registerLetter ? attach.registerLetter : [];
313 if(registerLetter.length){ 313 if (registerLetter.length) {
314 registerLetter[0].name = registerLetter[0].name 314 registerLetter[0].name = registerLetter[0].name
315 } 315 }
316 item.default = registerLetter; 316 item.default = registerLetter;
317 item.templateUrl = attachDataInfo.value.register_letter; 317 item.templateUrl = attachDataInfo.value.register_letter;
318 } else if (item.field == 'evaluationFile') { 318 } else if (item.field == 'evaluationFile') {
319 let evaluationFile = attach.evaluationFile ? attach.evaluationFile : []; 319 let evaluationFile = attach.evaluationFile ? attach.evaluationFile : [];
320 if(evaluationFile.length){ 320 if (evaluationFile.length) {
321 evaluationFile[0].name = evaluationFile[0].name 321 evaluationFile[0].name = evaluationFile[0].name
322 } 322 }
323 item.default = evaluationFile; 323 item.default = evaluationFile;
324 item.templateUrl = attachDataInfo.value.quality_evaluation_file; 324 item.templateUrl = attachDataInfo.value.quality_evaluation_file;
325 } else if (item.field == 'assessmentFile') { 325 } else if (item.field == 'assessmentFile') {
326 let assessmentFile = attach.assessmentFile ? attach.assessmentFile : []; 326 let assessmentFile = attach.assessmentFile ? attach.assessmentFile : [];
327 if(assessmentFile.length){ 327 if (assessmentFile.length) {
328 assessmentFile[0].name = assessmentFile[0].name 328 assessmentFile[0].name = assessmentFile[0].name
329 } 329 }
330 item.default = assessmentFile; 330 item.default = assessmentFile;
331 item.templateUrl = attachDataInfo.value.cost_assessment_file; 331 item.templateUrl = attachDataInfo.value.cost_assessment_file;
332 } else if (item.field === 'commitmentLetter') { 332 } else if (item.field === 'commitmentLetter') {
333 let commitmentLetter = attach.commitmentLetter ? attach.commitmentLetter : []; 333 let commitmentLetter = attach.commitmentLetter ? attach.commitmentLetter : [];
334 if(commitmentLetter.length){ 334 if (commitmentLetter.length) {
335 commitmentLetter[0].name = commitmentLetter[0].name 335 commitmentLetter[0].name = commitmentLetter[0].name
336 } 336 }
337 item.default = commitmentLetter; 337 item.default = commitmentLetter;
...@@ -423,7 +423,7 @@ onActivated(() => { ...@@ -423,7 +423,7 @@ onActivated(() => {
423 }) 423 })
424 424
425 onBeforeMount(() => { 425 onBeforeMount(() => {
426 restart.value = localStorage.getItem('isRestart')?true:false; 426 restart.value = localStorage.getItem('isRestart') ? true : false;
427 if (guid) { 427 if (guid) {
428 fullscreenLoading.value = true; 428 fullscreenLoading.value = true;
429 getRegiaterDetail({ guid: guid }).then((res: any) => { 429 getRegiaterDetail({ guid: guid }).then((res: any) => {
...@@ -1939,19 +1939,19 @@ const saveDraft = () => { ...@@ -1939,19 +1939,19 @@ const saveDraft = () => {
1939 name: u.name 1939 name: u.name
1940 } 1940 }
1941 }) || [], 1941 }) || [],
1942 evaluationFile: uploadFormInline['evaluationFile']?.map(u => { 1942 evaluationFile: uploadFormInline['evaluationFile']?.map(u => {
1943 return { 1943 return {
1944 url: u.url, 1944 url: u.url,
1945 name: u.name 1945 name: u.name
1946 } 1946 }
1947 }) || [], 1947 }) || [],
1948 assessmentFile: uploadFormInline['assessmentFile']?.map(u => { 1948 assessmentFile: uploadFormInline['assessmentFile']?.map(u => {
1949 return { 1949 return {
1950 url: u.url, 1950 url: u.url,
1951 name: u.name 1951 name: u.name
1952 } 1952 }
1953 }) || [], 1953 }) || [],
1954 commitmentLetter: uploadFormInline['commitmentLetter']?.map(u => { 1954 commitmentLetter: uploadFormInline['commitmentLetter']?.map(u => {
1955 return { 1955 return {
1956 url: u.url, 1956 url: u.url,
1957 name: u.name 1957 name: u.name
...@@ -2041,30 +2041,30 @@ const save = () => { ...@@ -2041,30 +2041,30 @@ const save = () => {
2041 let uploadFormInline = uploadFormRef.value.formInline; 2041 let uploadFormInline = uploadFormRef.value.formInline;
2042 let registerAttachment: any = { 2042 let registerAttachment: any = {
2043 // fileHash: uploadFormInline.fileHash, 2043 // fileHash: uploadFormInline.fileHash,
2044 registerLetter: uploadFormInline['registerLetter']?.map(u => { 2044 registerLetter: uploadFormInline['registerLetter']?.map(u => {
2045 return { 2045 return {
2046 url: u.url, 2046 url: u.url,
2047 name: u.name 2047 name: u.name
2048 } 2048 }
2049 }) || [], 2049 }) || [],
2050 evaluationFile: uploadFormInline['evaluationFile']?.map(u => { 2050 evaluationFile: uploadFormInline['evaluationFile']?.map(u => {
2051 return { 2051 return {
2052 url: u.url, 2052 url: u.url,
2053 name: u.name 2053 name: u.name
2054 } 2054 }
2055 }) || [], 2055 }) || [],
2056 assessmentFile: uploadFormInline['assessmentFile']?.map(u => { 2056 assessmentFile: uploadFormInline['assessmentFile']?.map(u => {
2057 return { 2057 return {
2058 url: u.url, 2058 url: u.url,
2059 name: u.name 2059 name: u.name
2060 } 2060 }
2061 }) || [], 2061 }) || [],
2062 commitmentLetter: uploadFormInline['commitmentLetter']?.map(u => { 2062 commitmentLetter: uploadFormInline['commitmentLetter']?.map(u => {
2063 return { 2063 return {
2064 url: u.url, 2064 url: u.url,
2065 name: u.name 2065 name: u.name
2066 } 2066 }
2067 }) || [], 2067 }) || [],
2068 } 2068 }
2069 if (qualityEvaluationInstitution.value) { 2069 if (qualityEvaluationInstitution.value) {
2070 registerAttachment.qualityEvaluationInstitution = qualityEvaluationInstitution.value 2070 registerAttachment.qualityEvaluationInstitution = qualityEvaluationInstitution.value
......
...@@ -360,91 +360,114 @@ const tableBtnClick = (scope, btn) => { ...@@ -360,91 +360,114 @@ const tableBtnClick = (scope, btn) => {
360 } 360 }
361 if (type == 'up') { 361 if (type == 'up') {
362 // tableSwitchChange('Y', scope, 'listingStatus') 362 // tableSwitchChange('Y', scope, 'listingStatus')
363 console.log('上架', scope) 363 // console.log('上架', scope)
364 let params: any = {} 364 // let params: any = {}
365 if (scope.row.exchangeGuid) { 365 // if (scope.row.exchangeGuid) {
366 // 数交所上架 [params.commitmentLetterInfo[0].url] 366 // // 数交所上架 [params.commitmentLetterInfo[0].url]
367 params = { 367 // params = {
368 guid: scope.row.guid, 368 // guid: scope.row.guid,
369 accreditFile: scope.row.accreditFile, 369 // accreditFile: scope.row.accreditFile,
370 caseNumber: scope.row.caseNumber, 370 // caseNumber: scope.row.caseNumber,
371 commitmentLetter: scope.row.commitmentLetter, 371 // commitmentLetter: scope.row.commitmentLetter,
372 content: scope.row.productDesc, 372 // content: scope.row.productDesc,
373 costAssessmentInstitution: scope.row.costAssessmentInstitution, 373 // costAssessmentInstitution: scope.row.costAssessmentInstitution,
374 costAssessmentInstitutionGuid: scope.row.costAssessmentInstitutionGuid, 374 // costAssessmentInstitutionGuid: scope.row.costAssessmentInstitutionGuid,
375 coverageArea: scope.row.coverageArea, 375 // coverageArea: scope.row.coverageArea,
376 damCode: scope.row.damCode, 376 // damCode: scope.row.damCode,
377 damGuid: scope.row.damGuid, 377 // damGuid: scope.row.damGuid,
378 damName: scope.row.damName, 378 // damName: scope.row.damName,
379 damType: scope.row.damType, 379 // damType: scope.row.damType,
380 dataScale: scope.row.dataScale, 380 // dataScale: scope.row.dataScale,
381 deliveryWay: scope.row.deliveryWay, 381 // deliveryWay: scope.row.deliveryWay,
382 evaluationFile: scope.row.evaluationFile, 382 // evaluationFile: scope.row.evaluationFile,
383 exchangeGuid: scope.row.exchangeGuid, 383 // exchangeGuid: scope.row.exchangeGuid,
384 feeDesc: scope.row.feeDesc, 384 // feeDesc: scope.row.feeDesc,
385 immediateApprove: true, 385 // immediateApprove: true,
386 priceUnit: scope.row.priceUnit, 386 // priceUnit: scope.row.priceUnit,
387 pricingWay: scope.row.pricingWay, 387 // pricingWay: scope.row.pricingWay,
388 productPic: scope.row.productPic, 388 // productPic: scope.row.productPic,
389 productPrice: scope.row.productPrice, 389 // productPrice: scope.row.productPrice,
390 qualityEvaluationInstitution: scope.row.qualityEvaluationInstitution, 390 // qualityEvaluationInstitution: scope.row.qualityEvaluationInstitution,
391 qualityEvaluationInstitutionGuid: scope.row.qualityEvaluationInstitutionGuid, 391 // qualityEvaluationInstitutionGuid: scope.row.qualityEvaluationInstitutionGuid,
392 timeAreaStart: scope.row.timeAreaStart, 392 // timeAreaStart: scope.row.timeAreaStart,
393 timeAreaEnd: scope.row.timeAreaEnd, 393 // timeAreaEnd: scope.row.timeAreaEnd,
394 registrationCertificate: scope.row.registrationCertificate, 394 // registrationCertificate: scope.row.registrationCertificate,
395 productDetail: scope.row.productDetail, 395 // productDetail: scope.row.productDetail,
396 assessmentFile: scope.row.assessmentFile, 396 // assessmentFile: scope.row.assessmentFile,
397 } 397 // }
398 listingUpdate(params).then((res: any) => { 398 // listingUpdate(params).then((res: any) => {
399 if (res.code == proxy.$passCode) { 399 // if (res.code == proxy.$passCode) {
400 ElMessage({ 400 // ElMessage({
401 type: "success", 401 // type: "success",
402 message: '提交成功', 402 // message: '提交成功',
403 }); 403 // });
404 getTableData(); 404 // getTableData();
405 } else { 405 // } else {
406 ElMessage({ 406 // ElMessage({
407 type: "error", 407 // type: "error",
408 message: res.msg, 408 // message: res.msg,
409 }); 409 // });
410 // }
411 // })
412 // } else {
413 // // 门户数据专区上架
414 // params = {
415 // guid: scope.row.guid,
416 // caseNumber: scope.row.caseNumber,
417 // content: scope.row.productDesc,
418 // coverageArea: scope.row.coverageArea,
419 // damGuid: scope.row.damGuid,
420 // damName: scope.row.damName,
421 // damType: scope.row.damType,
422 // dataScale: scope.row.dataScale,
423 // deliveryWay: scope.row.deliveryWay,
424 // feeDesc: scope.row.feeDesc,
425 // immediateApprove: true,
426 // priceUnit: scope.row.priceUnit,
427 // pricingWay: scope.row.pricingWay,
428 // productPic: scope.row.productPic,
429 // productPrice: scope.row.productPrice,
430 // timeAreaStart: scope.row.timeAreaStart,
431 // timeAreaEnd: scope.row.timeAreaEnd,
432 // }
433 // listingUpdateGateway(params).then((res: any) => {
434 // if (res.code == proxy.$passCode) {
435 // ElMessage({
436 // type: "success",
437 // message: '提交成功',
438 // });
439 // getTableData();
440 // } else {
441 // ElMessage({
442 // type: "error",
443 // message: res.msg,
444 // });
445 // }
446 // })
447 // console.log('上架', scope)
448 // }
449 if (row.exchangeGuid) {
450 router.push({
451 name: 'productListingDetail',
452 query: {
453 guid: row.guid,
454 exchangeName: row.exchangeName,
455 type: type == 'edit' ? 'edit' : 'redit',
456 case: '1',
457 name: row.damName,
458 exchangeGuid: row.exchangeGuid
410 } 459 }
411 }) 460 })
412 } else { 461 } else {
413 // 门户数据专区上架 462 router.push({
414 params = { 463 name: 'productListingDetail',
415 guid: scope.row.guid, 464 query: {
416 caseNumber: scope.row.caseNumber, 465 guid: row.guid,
417 content: scope.row.productDesc, 466 type: type == 'edit' ? 'edit' : 'redit',
418 coverageArea: scope.row.coverageArea, 467 case: '2',
419 damGuid: scope.row.damGuid, 468 name: row.damName
420 damName: scope.row.damName,
421 damType: scope.row.damType,
422 dataScale: scope.row.dataScale,
423 deliveryWay: scope.row.deliveryWay,
424 feeDesc: scope.row.feeDesc,
425 immediateApprove: true,
426 priceUnit: scope.row.priceUnit,
427 pricingWay: scope.row.pricingWay,
428 productPic: scope.row.productPic,
429 productPrice: scope.row.productPrice,
430 timeAreaStart: scope.row.timeAreaStart,
431 timeAreaEnd: scope.row.timeAreaEnd,
432 }
433 listingUpdateGateway(params).then((res: any) => {
434 if (res.code == proxy.$passCode) {
435 ElMessage({
436 type: "success",
437 message: '提交成功',
438 });
439 getTableData();
440 } else {
441 ElMessage({
442 type: "error",
443 message: res.msg,
444 });
445 } 469 }
446 }) 470 });
447 console.log('上架', scope)
448 } 471 }
449 472
450 } 473 }
...@@ -851,10 +874,12 @@ const formInfo = ref<any>({ ...@@ -851,10 +874,12 @@ const formInfo = ref<any>({
851 <div class="list-content" v-if="demandListData.length > 0"> 874 <div class="list-content" v-if="demandListData.length > 0">
852 <div class="card-content" v-for="item in demandListData" :key="item.guid"> 875 <div class="card-content" v-for="item in demandListData" :key="item.guid">
853 <div class="header"> 876 <div class="header">
854 <img class="left-img" :src="(item.picUrl && typeof item.picUrl == 'string') ? item.picUrl : defaultItemLogo" 877 <div class="header-top">
855 alt="" /> 878 <img class="left-img" :src="(item.picUrl && typeof item.picUrl == 'string') ? item.picUrl : defaultItemLogo"
856 <div class="right-main"> 879 alt="" />
857 <div class="title">{{ item.exchangeName ?? '--' }}</div> 880 <div class="title">{{ item.exchangeName ?? '--' }}</div>
881 </div>
882 <div class="right-main">
858 <div class="count-group"> 883 <div class="count-group">
859 <div class="count-item"> 884 <div class="count-item">
860 <div class="item-label">已上架产品数</div> 885 <div class="item-label">已上架产品数</div>
...@@ -868,11 +893,18 @@ const formInfo = ref<any>({ ...@@ -868,11 +893,18 @@ const formInfo = ref<any>({
868 </div> 893 </div>
869 </div> 894 </div>
870 <div class="operator-btn" @click="btnClick(item)"> 895 <div class="operator-btn" @click="btnClick(item)">
871 896 <!-- <div class="left-btn">更新模板</div> -->
872 <div class="left-btn">资产登记</div> 897 <div class="right-btn">产品上架</div>
873 </div> 898 </div>
874 </div> 899 </div>
875 </div> 900 </div>
901 <div class="v-tip">
902 <div class="tip-icon"></div>
903 <div class="tip-des">
904 在各数交所上架时,会同时在门户、专区和主平台门户进行展示;在门户上架则只会在门户上架,不会在数交所、专区及主平台门户上架。
905 </div>
906
907 </div>
876 <div class="table_panel_wrap" :style="{ 908 <div class="table_panel_wrap" :style="{
877 height: demandListData.length > 0 ? 'calc(100% - 230px)' : 'calc(100% - 54px)' 909 height: demandListData.length > 0 ? 'calc(100% - 230px)' : 'calc(100% - 54px)'
878 }"> 910 }">
...@@ -920,33 +952,42 @@ const formInfo = ref<any>({ ...@@ -920,33 +952,42 @@ const formInfo = ref<any>({
920 display: flex; 952 display: flex;
921 justify-content: flex-start; 953 justify-content: flex-start;
922 flex-wrap: wrap; 954 flex-wrap: wrap;
923 margin-bottom: 8px;
924 padding: 0 8px; 955 padding: 0 8px;
925 956
926 .card-content { 957 .card-content {
927 width: 300px; 958 width: 300px;
928 padding: 16px;
929 box-shadow: 0 0 0 1px #d9d9d9; 959 box-shadow: 0 0 0 1px #d9d9d9;
930 margin-right: 12px; 960 border-radius: 3px;
961 margin-right: 18px;
962 margin-bottom: 12px;
931 963
932 .header { 964 .header {
933 display: flex; 965 display: flex;
934 margin-bottom: 16px; 966 flex-direction: column;
967 padding: 16px;
935 968
936 img { 969 .header-top {
937 width: 80px; 970 display: flex;
938 margin-right: 16px; 971 align-items: center;
939 } 972 margin-bottom: 22px;
973
974 img {
975 width: 20px;
976 height: 20px;
977 margin-right: 8px;
978 }
940 979
941 .title { 980 .title {
942 font-size: 16px; 981 font-size: 16px;
943 color: #212121; 982 color: #212121;
944 font-weight: 600; 983 font-weight: 600;
945 margin-bottom: 8px; 984 }
946 } 985 }
947 986
987
948 .right-main { 988 .right-main {
949 width: calc(100% - 96px); 989 width: 100%;
990 padding: 0 16px;
950 display: flex; 991 display: flex;
951 flex-direction: column; 992 flex-direction: column;
952 justify-content: space-between; 993 justify-content: space-between;
...@@ -956,10 +997,11 @@ const formInfo = ref<any>({ ...@@ -956,10 +997,11 @@ const formInfo = ref<any>({
956 justify-content: space-between; 997 justify-content: space-between;
957 998
958 .item-num { 999 .item-num {
959 font-size: 20px; 1000 font-size: 24px;
960 font-weight: 600; 1001 font-weight: 600;
961 color: #212121; 1002 color: #44ABB4;
962 margin-top: 8px; 1003 margin-top: 8px;
1004 text-align: center;
963 } 1005 }
964 } 1006 }
965 } 1007 }
...@@ -970,38 +1012,64 @@ const formInfo = ref<any>({ ...@@ -970,38 +1012,64 @@ const formInfo = ref<any>({
970 // justify-content: space-between; 1012 // justify-content: space-between;
971 justify-content: center; 1013 justify-content: center;
972 align-items: center; 1014 align-items: center;
973 box-shadow: 0 0 0 1px #d9d9d9;
974 position: relative; 1015 position: relative;
975 width: 100%; 1016 width: 100%;
976 height: 40px; 1017 height: 44px;
977 line-height: 40px; 1018 line-height: 40px;
978 background: #4fa1a4; 1019 background: #FAFAFA;
979 color: #fff; 1020 color: #fff;
980 cursor: pointer; 1021 cursor: pointer;
1022 border-bottom-left-radius: 3px;
1023 border-bottom-right-radius: 3px;
1024 border-top: 1px solid #d9d9d9;
1025
981 // &::after { 1026 // &::after {
982 // content: ''; 1027 // content: '';
983 // width: 0; 1028 // width: 0;
984 // height: 100%; 1029 // height: 26px;
985 // border-left: 1px solid #d9d9d9; 1030 // border-left: 1px solid #d9d9d9;
986 // position: absolute; 1031 // position: absolute;
987 // left: 50%; 1032 // left: 50%;
988 // transform: translateX(-50%); 1033 // transform: translateX(-50%);
989 // }
990
991 // >.left-btn {
992 // width: 50%;
993 // height: 40px;
994 // line-height: 40px;
995 // text-align: center;
996 // cursor: pointer;
997 1034
998 // &:hover {
999 // color: #4fa1a4;
1000 // } 1035 // }
1001 1036
1002 // } 1037 .left-btn,
1038 .right-btn {
1039 width: 50%;
1040 height: 40px;
1041 line-height: 40px;
1042 text-align: center;
1043 cursor: pointer;
1044 color: #666666;
1045 }
1003 } 1046 }
1004 } 1047 }
1005 } 1048 }
1049
1050 .v-tip {
1051 display: flex;
1052 height: 40px;
1053 align-items: center;
1054 background: #FFFBF2;
1055 border: 1px solid rgba(255, 241, 212, 1);
1056 border-radius: 4px;
1057 margin: 5px 8px 17px 8px;
1058
1059 .tip-icon {
1060 width: 16px;
1061 height: 16px;
1062 background: url('@/assets/icons/waring.svg') no-repeat;
1063 background-size: 100% 100%;
1064 margin: 0 10px;
1065 }
1066
1067 .tip-des {
1068 font-size: 14px;
1069 color: #FF991C;
1070 line-height: 20px;
1071 font-weight: 400;
1072 }
1073 }
1006 } 1074 }
1007 </style> 1075 </style>
......
...@@ -72,6 +72,7 @@ const getArea = (node, resolve) => { ...@@ -72,6 +72,7 @@ const getArea = (node, resolve) => {
72 return; 72 return;
73 } 73 }
74 if (!getAreaDataPromise.value[node.value]) { 74 if (!getAreaDataPromise.value[node.value]) {
75 console.log('getAreaDataPromise', getAreaDataPromise.value);
75 getAreaDataPromise.value[node.value] = getAreaData(params).then((res: any) => { 76 getAreaDataPromise.value[node.value] = getAreaData(params).then((res: any) => {
76 getAreaDataPromise.value[node.value] = null; 77 getAreaDataPromise.value[node.value] = null;
77 node.loaded = true; 78 node.loaded = true;
...@@ -264,13 +265,14 @@ const formInfo = ref<any>({ ...@@ -264,13 +265,14 @@ const formInfo = ref<any>({
264 clearable: true, 265 clearable: true,
265 required: true, 266 required: true,
266 col: 'checkbox-right', 267 col: 'checkbox-right',
267 visible: true 268 visible: false
268 } 269 }
269 ], 270 ],
270 clearable: false, 271 clearable: false,
271 required: true, 272 required: true,
272 col: 'checkbox-cascader' 273 col: 'checkbox-cascader'
273 }, { 274 },
275 {
274 label: "交付方式", 276 label: "交付方式",
275 type: "select", 277 type: "select",
276 placeholder: "请选择", 278 placeholder: "请选择",
...@@ -1191,6 +1193,7 @@ const setFormItems = (row: any = null, isDetail = false) => { ...@@ -1191,6 +1193,7 @@ const setFormItems = (row: any = null, isDetail = false) => {
1191 1193
1192 const selectChange = async (val, row, info) => { 1194 const selectChange = async (val, row, info) => {
1193 if (row.field == 'damName') { 1195 if (row.field == 'damName') {
1196 console.log(val, row, info, '--------1123123---------');
1194 const data = row.options.filter(o => o.damName == val); 1197 const data = row.options.filter(o => o.damName == val);
1195 let coverageArea = (data.length && data[0].coverageArea) ? data[0].coverageArea : []; 1198 let coverageArea = (data.length && data[0].coverageArea) ? data[0].coverageArea : [];
1196 await setFormItems({ ...info, coverageArea: coverageArea }); 1199 await setFormItems({ ...info, coverageArea: coverageArea });
...@@ -1483,9 +1486,17 @@ onBeforeMount(async () => { ...@@ -1483,9 +1486,17 @@ onBeforeMount(async () => {
1483 if (route.query.exchangeGuid) { 1486 if (route.query.exchangeGuid) {
1484 getTemplateInfo(); 1487 getTemplateInfo();
1485 } 1488 }
1489 setTimeout(() => {
1490 formInfo.value.items.forEach(item => {
1491 if (item.field == 'coverageAreas') {
1492 item.children[0].visible = true
1493 }
1494 })
1495 }, 0);
1486 1496
1487 }) 1497 })
1488 1498
1499
1489 const pageLIstInfo = ref<any>(); 1500 const pageLIstInfo = ref<any>();
1490 const getTableData = async () => { 1501 const getTableData = async () => {
1491 const res: any = await getListingList({ 1502 const res: any = await getListingList({
...@@ -1508,13 +1519,13 @@ const getTemplateInfo = () => { ...@@ -1508,13 +1519,13 @@ const getTemplateInfo = () => {
1508 if (res.code == proxy.$passCode) { 1519 if (res.code == proxy.$passCode) {
1509 formInfo.value.items.forEach(item => { 1520 formInfo.value.items.forEach(item => {
1510 if (item.field == 'commitmentLetterInfo') { 1521 if (item.field == 'commitmentLetterInfo') {
1511 item.templateUrl = res.data.commitment_letter || ''; 1522 item.templateUrl = res.data?.commitment_letter || '';
1512 } 1523 }
1513 if (item.field == 'accreditFileInfo') { 1524 if (item.field == 'accreditFileInfo') {
1514 item.templateUrl = res.data.authorization_file || ''; 1525 item.templateUrl = res.data?.authorization_file || '';
1515 } 1526 }
1516 if (item.field == 'productDetailInfo') { 1527 if (item.field == 'productDetailInfo') {
1517 item.templateUrl = res.data.detail_file || ''; 1528 item.templateUrl = res.data?.detail_file || '';
1518 } 1529 }
1519 }) 1530 })
1520 } else { 1531 } else {
......
...@@ -91,18 +91,18 @@ const cardList = ref([ ...@@ -91,18 +91,18 @@ const cardList = ref([
91 label: "最近入表时间", 91 label: "最近入表时间",
92 unit: "", 92 unit: "",
93 }, 93 },
94 { 94 // {
95 name: "dataCategoryNum", 95 // name: "dataCategoryNum",
96 value: 0, 96 // value: 0,
97 label: "数据分类", 97 // label: "数据分类",
98 unit: "", 98 // unit: "",
99 }, 99 // },
100 { 100 // {
101 name: "dataGradeNum", 101 // name: "dataGradeNum",
102 value: 0, 102 // value: 0,
103 label: "数据分级", 103 // label: "数据分级",
104 unit: "", 104 // unit: "",
105 }, 105 // },
106 ]); 106 ]);
107 107
108 const checkImage = () => { 108 const checkImage = () => {
...@@ -631,9 +631,9 @@ const autoRoll = (stop = false) => { ...@@ -631,9 +631,9 @@ const autoRoll = (stop = false) => {
631 }, 4000) 631 }, 4000)
632 } 632 }
633 /** 快捷筛选项 */ 633 /** 快捷筛选项 */
634 const filterDate = ref('today'); //默认选中今天 634 const filterDate = ref(''); //默认选中今天
635 /** 日期时间范围值 */ 635 /** 日期时间范围值 */
636 const daterange = ref([Moment(new Date()).format("YYYY-MM-DD 00:00:00"), Moment(new Date()).format("YYYY-MM-DD HH:mm:ss")]); 636 const daterange = ref(['', '']);
637 /** 日期面板的默认显示时分秒 */ 637 /** 日期面板的默认显示时分秒 */
638 const defaultTime1 = [new Date(2000, 1, 1, 0, 0, 0), new Date(2000, 1, 1, 23, 59, 59)]; // '12:00:00' 638 const defaultTime1 = [new Date(2000, 1, 1, 0, 0, 0), new Date(2000, 1, 1, 23, 59, 59)]; // '12:00:00'
639 const filterDateClickTimestamp = ref(Date.now()); // 记录点击时间 639 const filterDateClickTimestamp = ref(Date.now()); // 记录点击时间
...@@ -674,6 +674,7 @@ const handleDatePickerChange = (val) => { ...@@ -674,6 +674,7 @@ const handleDatePickerChange = (val) => {
674 // 更新开始时间和结束时间 674 // 更新开始时间和结束时间
675 startTime.value = val[0]; 675 startTime.value = val[0];
676 endTime.value = val[1]; 676 endTime.value = val[1];
677 daterange.value = [startTime.value, endTime.value];
677 678
678 // 获取数据表格 679 // 获取数据表格
679 getAssetTableData(); 680 getAssetTableData();
...@@ -868,7 +869,7 @@ const handleChangeTime = (val) => { ...@@ -868,7 +869,7 @@ const handleChangeTime = (val) => {
868 <div class="row-per"> 869 <div class="row-per">
869 <div class="header"> 870 <div class="header">
870 <div class="left-pd"></div> 871 <div class="left-pd"></div>
871 <div class="header-title">资产授信情况</div> 872 <div class="header-title">数据产品调用情况</div>
872 </div> 873 </div>
873 <div style="height: calc(100% - 40px);"> 874 <div style="height: calc(100% - 40px);">
874 <Table class="drak-table" v-if="!financingTableInfo.loading1" :tableInfo="financingTableInfo" 875 <Table class="drak-table" v-if="!financingTableInfo.loading1" :tableInfo="financingTableInfo"
......
...@@ -31,7 +31,7 @@ const page = ref({ ...@@ -31,7 +31,7 @@ const page = ref({
31 }); 31 });
32 const tableInfo = ref({ 32 const tableInfo = ref({
33 id: "role-manage-table", 33 id: "role-manage-table",
34 multiple: true, 34 // multiple: true,
35 fixedSelection: true, 35 fixedSelection: true,
36 fields: [ 36 fields: [
37 { label: "序号", type: "index", width: 56, align: "center" }, 37 { label: "序号", type: "index", width: 56, align: "center" },
...@@ -56,6 +56,7 @@ const tableInfo = ref({ ...@@ -56,6 +56,7 @@ const tableInfo = ref({
56 }, 56 },
57 { 57 {
58 label: "合规评估报告", field: "complianceEvaluateReport", width: 120, type: 'text_btn', value: 'complianceEvaluateReport', columClass: 'text_btn', getName: (scope) => { 58 label: "合规评估报告", field: "complianceEvaluateReport", width: 120, type: 'text_btn', value: 'complianceEvaluateReport', columClass: 'text_btn', getName: (scope) => {
59 const value = scope.row.complianceEvaluateReport?.length > 0;
59 return scope.row.complianceEvaluateReport?.length > 0 ? '预览' : '--'; 60 return scope.row.complianceEvaluateReport?.length > 0 ? '预览' : '--';
60 } 61 }
61 }, 62 },
...@@ -141,6 +142,7 @@ const formItems = ref([ ...@@ -141,6 +142,7 @@ const formItems = ref([
141 block: true, 142 block: true,
142 visible: true, 143 visible: true,
143 default: [], 144 default: [],
145 limit: 1,
144 }, 146 },
145 { 147 {
146 label: '合规法律意见书', 148 label: '合规法律意见书',
...@@ -153,6 +155,7 @@ const formItems = ref([ ...@@ -153,6 +155,7 @@ const formItems = ref([
153 block: true, 155 block: true,
154 visible: true, 156 visible: true,
155 default: [], 157 default: [],
158 limit: 1,
156 }, 159 },
157 { 160 {
158 label: '入表合规方案', 161 label: '入表合规方案',
...@@ -165,6 +168,7 @@ const formItems = ref([ ...@@ -165,6 +168,7 @@ const formItems = ref([
165 block: true, 168 block: true,
166 visible: true, 169 visible: true,
167 default: [], 170 default: [],
171 limit: 1,
168 }, 172 },
169 ]); 173 ]);
170 174
...@@ -366,6 +370,12 @@ const getTableData = () => { ...@@ -366,6 +370,12 @@ const getTableData = () => {
366 } 370 }
367 } 371 }
368 372
373 :deep(.tools_search) {
374 .el-form-item .el-select {
375 width: 230px;
376 }
377 }
378
369 .table_panel_wrap { 379 .table_panel_wrap {
370 margin-top: 12px; 380 margin-top: 12px;
371 width: 100%; 381 width: 100%;
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!