Prechádzať zdrojové kódy

```
feat(common): 添加协议类型查询接口

添加getAgreementType函数用于查询协议类型数据,
包括发布提示和发布规则相关内容。

- 新增getAgreementType函数
- 接口路径为/agreement/agreementType

feat(workflowTrade): 动态显示发布提示和规则

将固定的发布提示和规则替换为动态获取的内容,
通过新增的协议类型接口获取数据并显示。

- 引入getAgreementType接口
- 使用v-html渲染动态内容
- 移除硬编码的静态文本

fix(components): 登录和语言切换后刷新页面

在登录成功和语言切换后添加页面刷新逻辑,
确保用户状态和语言设置正确生效。

- 登录成功后刷新当前页面
- 语言切换后刷新页面
- 保持token存储逻辑不变
```

zhangningning 1 mesiac pred
rodič
commit
e0a718fbc7

+ 6 - 0
src/api/common.js

@@ -18,4 +18,10 @@ export function purchase(data = {}) {
 //技能标签  bus_skill_tag
 export function getDictType(data = {}) {
   return request.get('/common/dictData',data)
+}
+// 查询协议
+//发布提示  release_hint
+//发布规则  release_rules
+export function getAgreementType(data = {}) {
+  return request.get('/agreement/agreementType',data)
 }

+ 1 - 0
src/components/LangSwitch.vue

@@ -34,6 +34,7 @@ const handleClick = (command) => {
   } else if (command === 'en') {
     switchToEn()
   }
+  window.location.reload();
 }
 
 // 切换到中文

+ 4 - 0
src/components/LoginDialog.vue

@@ -443,6 +443,8 @@ const handlePasswordLogin = () => {
         dialogVisible.value = false;
         // 登录成功后,将token存储到localStorage
         setToken(res.token);
+        //刷新当前页
+        window.location.reload();
       }
     }
   })
@@ -471,6 +473,8 @@ const handleSmsLogin = () => {
         dialogVisible.value = false;
         // 登录成功后,将token存储到localStorage
         setToken(res.token);
+        //刷新当前页
+        window.location.reload();
       } 
     }
   })

+ 23 - 4
src/pages/workflowTrade/workflowTradeAdd.vue

@@ -142,11 +142,12 @@
             </div>
             <!-- 无序列表 -->
             <div class="font_size16">
-              <div>· 标题要简洁明了,突出核心需求</div>
+              <div v-html="release_hint"></div>
+              <!-- <div>· 标题要简洁明了,突出核心需求</div>
               <div>· 详细描述需求背景和具体要求</div>
               <div>· 明确交付标准和验收方式</div>
               <div>· 合理设置预算范围</div>
-              <div>· 添加相关标签提高匹配度</div>
+              <div>· 添加相关标签提高匹配度</div> -->
             </div>
           </div>
           <div class="padding16 bg_color_fff border_radius_16 mt20 box_shadow_card">
@@ -156,7 +157,7 @@
             </div>
             <!-- 有序列表 -->
             <div class="font_size16">
-              <div v-for="(item,index) in 4" :key="index">{{index+1}} 这里是发布规则文字说明</div>
+              <div v-html="release_rules"></div>
             </div>
           </div>
         </div>
@@ -177,6 +178,7 @@ import DGTMessage from '@/utils/message'
 
 import { questAdd } from '@/api/workflowTrade.js'
 import { getCategoryListTree } from '@/api/category.js'
+import { getAgreementType } from '@/api/common.js'
 
 import { useI18n } from 'vue-i18n' 
 const { t } = useI18n()
@@ -254,7 +256,9 @@ const rules = reactive({
 
 onMounted(() => {
   // 查询分类信息(返回树状结构)
-  getCategoryListTreeFn()
+  getCategoryListTreeFn();
+  // 查询发布提示和发布规则
+  getAgreementTypeFn();
 })
 
 // 提交表单
@@ -287,6 +291,21 @@ const getCategoryListTreeFn = () => {
   })
 };
 
+// 发布提示列表
+const release_hint = ref([])
+// 发布规则列表
+const release_rules = ref([])
+const getAgreementTypeFn = () => {
+  getAgreementType({agreementType: 'release_hint'}).then(res => {
+    console.log(res)
+    release_hint.value = res.data.content || '';
+  })
+  getAgreementType({agreementType: 'release_rules'}).then(res => {
+    console.log(res)
+    release_rules.value = res.data.content || '';
+  })
+};
+
 </script>
 
 <style scoped lang="scss">