diff --git a/api/economicDifficulty.js b/api/economicDifficulty.js
new file mode 100644
index 0000000..574b0ad
--- /dev/null
+++ b/api/economicDifficulty.js
@@ -0,0 +1,16 @@
+import post, {get} from "@/api/request";
+
+/**
+ * 提交经济困难状况说明表
+ * @param {Object} data - 表单数据
+ * @param {Array} data.familyMembers - 家庭成员列表
+ * @param {String} data.familyMembers[].name - 姓名
+ * @param {String} data.familyMembers[].relation - 与申请人关系
+ * @param {String} data.familyMembers[].occupation - 职业及所在单位
+ * @param {String} data.familyMembers[].salaryIncome - 工资性收入
+ * @param {String} data.familyMembers[].businessIncome - 生产经营性收入
+ * @param {String} data.familyMembers[].otherIncome - 其他收入
+ * @param {String} data.familyMembers[].totalIncome - 合计
+ * @returns {Promise}
+ */
+export const submitEconomicDifficulty = data => post('/law/law-poor-request', data)
diff --git a/api/lawOrg.js b/api/lawOrg.js
index 9bca8d2..dcf1194 100644
--- a/api/lawOrg.js
+++ b/api/lawOrg.js
@@ -9,3 +9,5 @@ export const sendChatReq = data => post('/chat/message', data)
export const stopChatReq = data => post('/chat/messageStop', data)
export const lawLegalArbitrateReq = data => post('/law/law-legal-arbitrate', data)
export const lawLegalAppraisalReq = data => post('/law/law-legal-appraisal', data)
+export const lawLegalReviewReq = data => post('/law/law-legal-review', data)
+export const lawLegalMediateReq = data => post('/law/law-legal-mediate', data)
diff --git a/articlePages/pages/search.vue b/articlePages/pages/search.vue
index 6451fa2..3d21b58 100644
--- a/articlePages/pages/search.vue
+++ b/articlePages/pages/search.vue
@@ -23,8 +23,8 @@
- {{ item.title }}
- {{ item.createTime }}
+ {{ item.title }}
+ {{ item.createTime }}
diff --git a/config/index.js b/config/index.js
index 44180fd..ef3da0e 100644
--- a/config/index.js
+++ b/config/index.js
@@ -1,7 +1,7 @@
const MAIN_API_FN = () => {
if (process.env.NODE_ENV === 'development') {
- return 'http://127.0.0.1:10051'
- // return 'https://sifa-api.wsdns.cn'
+ // return 'http://127.0.0.1:10051'
+ return 'https://sifa-api.wsdns.cn'
} else {
return 'https://sifa-api.wsdns.cn'
}
diff --git a/onlineSheetPages/pages/civil.vue b/onlineSheetPages/pages/civil.vue
index 2e418f6..28f70a2 100644
--- a/onlineSheetPages/pages/civil.vue
+++ b/onlineSheetPages/pages/civil.vue
@@ -53,7 +53,7 @@
{{ title }}
-
+
diff --git a/onlineSheetPages/pages/economicDifficulty.vue b/onlineSheetPages/pages/economicDifficulty.vue
new file mode 100644
index 0000000..a477fbf
--- /dev/null
+++ b/onlineSheetPages/pages/economicDifficulty.vue
@@ -0,0 +1,435 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 添加家庭成员
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 有
+
+ 无
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 有
+
+ 无
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+
+
+
+
+
+
+
+
diff --git a/onlineSheetPages/pages/forensic.vue b/onlineSheetPages/pages/forensic.vue
index a375b85..7422ab1 100644
--- a/onlineSheetPages/pages/forensic.vue
+++ b/onlineSheetPages/pages/forensic.vue
@@ -53,7 +53,7 @@
{{ title }}
-
+
diff --git a/onlineSheetPages/pages/legalAid.vue b/onlineSheetPages/pages/legalAid.vue
index dc84516..947ca38 100644
--- a/onlineSheetPages/pages/legalAid.vue
+++ b/onlineSheetPages/pages/legalAid.vue
@@ -54,7 +54,7 @@
{{ title }}
-
+
diff --git a/onlineSheetPages/pages/legalMediate.vue b/onlineSheetPages/pages/legalMediate.vue
new file mode 100644
index 0000000..53e9679
--- /dev/null
+++ b/onlineSheetPages/pages/legalMediate.vue
@@ -0,0 +1,133 @@
+
+
+
+
+ 人民调解线上申请入口
+
+
+
+
+ 申请条件
+
+
+
+ 申请材料
+
+
+
+
+
+ 办理流程
+
+
+
+ 政策法规
+
+
+
+
+
+ 典型案例
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ title }}
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/onlineSheetPages/pages/legalReview.vue b/onlineSheetPages/pages/legalReview.vue
new file mode 100644
index 0000000..7542e17
--- /dev/null
+++ b/onlineSheetPages/pages/legalReview.vue
@@ -0,0 +1,139 @@
+
+
+
+
+ 行政复议线上申请入口
+
+
+
+
+ 申请条件
+
+
+
+ 申请材料
+
+
+
+
+
+ 办理流程
+
+
+
+ 政策法规
+
+
+
+
+
+ 典型案例
+
+
+
+ 机关文书
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ title }}
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/onlineSheetPages/pages/newNotaryRequest.vue b/onlineSheetPages/pages/newNotaryRequest.vue
index c1ce0da..db1065b 100644
--- a/onlineSheetPages/pages/newNotaryRequest.vue
+++ b/onlineSheetPages/pages/newNotaryRequest.vue
@@ -145,6 +145,7 @@ export default {
minDate: dayjs().subtract(100, 'year').valueOf(),
peopleList: [],
typeList: [],
+ originTypeList: [],
clickedIndex: 0,
selectedConfig: null,
fileList: [],
@@ -154,7 +155,11 @@ export default {
methods: {
async getConfigList() {
const {data} = await listNotaryConfigReq()
- this.typeList = data
+ this.typeList = data.map(item => {
+ item.title = `${item.type}·${item.title}`
+ return item
+ })
+ this.originTypeList = JSON.parse(JSON.stringify(this.typeList))
this.selectedConfig = this.typeList[0]
this.formData.type = this.selectedConfig.title
this.fileList = []
diff --git a/onlineSheetPages/pages/newRequest.vue b/onlineSheetPages/pages/newRequest.vue
index 1075099..aafbac1 100644
--- a/onlineSheetPages/pages/newRequest.vue
+++ b/onlineSheetPages/pages/newRequest.vue
@@ -1,6 +1,10 @@
+
+
+
+
@@ -71,7 +75,7 @@
- 提交
+ 下一步
{
- uni.navigateBack()
+ this.$jump(`/onlineSheetPages/pages/economicDifficulty?aidId=${res.data.id}`)
}, 500)
}
}
@@ -159,4 +163,10 @@ export default {
color: #3c9cff !important;
border-color: #3c9cff !important;
}
+
+
+
\ No newline at end of file
diff --git a/onlineSheetPages/pages/newRequestMediate.vue b/onlineSheetPages/pages/newRequestMediate.vue
new file mode 100644
index 0000000..dd9a10e
--- /dev/null
+++ b/onlineSheetPages/pages/newRequestMediate.vue
@@ -0,0 +1,200 @@
+
+
+
+
+
+
+
+
+
+
+
+ 男
+
+
+ 女
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 男
+
+
+ 女
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/onlineSheetPages/pages/newReviewRequest.vue b/onlineSheetPages/pages/newReviewRequest.vue
new file mode 100644
index 0000000..f89ae90
--- /dev/null
+++ b/onlineSheetPages/pages/newReviewRequest.vue
@@ -0,0 +1,248 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 男
+
+
+ 女
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.title }}
+
+
+
+
+
+
+
+
+
+
+ 上传材料
+
+
+
+
+
+
+ 提交
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/onlineSheetPages/pages/notary.vue b/onlineSheetPages/pages/notary.vue
index fd8a952..82380c3 100644
--- a/onlineSheetPages/pages/notary.vue
+++ b/onlineSheetPages/pages/notary.vue
@@ -61,7 +61,7 @@
{{ title }}
-
+
diff --git a/pages.json b/pages.json
index aa2336c..8e94325 100644
--- a/pages.json
+++ b/pages.json
@@ -1,13 +1,14 @@
{
- "pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
- {
- "path": "pages/index/index",
- "style": {
- "navigationBarTitleText": "规范涉企行政执法检查",
+ "pages": [
+ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
+ {
+ "path": "pages/index/index",
+ "style": {
+ "navigationBarTitleText": "规范涉企行政执法检查",
"navigationStyle": "custom",
"navigationBarTextStyle": "black"
- }
- },
+ }
+ },
{
"path": "pages/user/index",
"style": {
@@ -24,7 +25,7 @@
"navigationBarTextStyle": "black"
}
}
- ],
+ ],
"subPackages": [
{
"root": "userPages",
@@ -212,6 +213,46 @@
"navigationStyle": "custom",
"navigationBarTextStyle": "black"
}
+ },
+ {
+ "path": "pages/legalReview",
+ "style": {
+ "navigationBarTitleText": "行政复议",
+ "navigationStyle": "custom",
+ "navigationBarTextStyle": "black"
+ }
+ },
+ {
+ "path": "pages/newReviewRequest",
+ "style": {
+ "navigationBarTitleText": "行政复议申请",
+ "navigationStyle": "custom",
+ "navigationBarTextStyle": "black"
+ }
+ },
+ {
+ "path": "pages/legalMediate",
+ "style": {
+ "navigationBarTitleText": "人民调解",
+ "navigationStyle": "custom",
+ "navigationBarTextStyle": "black"
+ }
+ },
+ {
+ "path": "pages/newRequestMediate",
+ "style": {
+ "navigationBarTitleText": "人民调解申请",
+ "navigationStyle": "custom",
+ "navigationBarTextStyle": "black"
+ }
+ },
+ {
+ "path": "pages/economicDifficulty",
+ "style": {
+ "navigationBarTitleText": "经济困难状况说明表",
+ "navigationStyle": "custom",
+ "navigationBarTextStyle": "black"
+ }
}
]
},
@@ -397,11 +438,11 @@
"iconWidth": "60px"
}
},
- "globalStyle": {
- "navigationBarTextStyle": "black",
- "navigationBarTitleText": "规范涉企行政执法检查",
- "navigationBarBackgroundColor": "#F8F8F8",
- "backgroundColor": "#F8F8F8"
- },
- "uniIdRouter": {}
+ "globalStyle": {
+ "navigationBarTextStyle": "black",
+ "navigationBarTitleText": "规范涉企行政执法检查",
+ "navigationBarBackgroundColor": "#F8F8F8",
+ "backgroundColor": "#F8F8F8"
+ },
+ "uniIdRouter": {}
}
diff --git a/pages/ai/index.vue b/pages/ai/index.vue
index 5c8baf0..3919544 100644
--- a/pages/ai/index.vue
+++ b/pages/ai/index.vue
@@ -3,6 +3,7 @@
+ 该内容由人工智能生成
@@ -46,6 +47,7 @@
+
@@ -57,17 +59,20 @@ import {sendChatReq, stopChatReq} from "@/api/lawOrg";
import {getUserInfo} from "@/util/user";
import {MAIN} from "@/config/color";
import {dictDataReq} from "@/api/common";
+import Login from "@/components/Login.vue";
export default {
name: "index",
- components: {HeaderItem, CustomTabbar},
+ components: {Login, HeaderItem, CustomTabbar},
data() {
return {
list: [],
questionList: [],
content: '',
taskId: null,
- answering: false
+ answering: false,
+ socket: null,
+ timer: null,
}
},
methods: {
@@ -118,39 +123,76 @@ export default {
}, 100)
},
async stopAI() {
+ console.log('stoping')
await stopChatReq({
taskId: this.taskId
})
this.answering = false
- uni.closeSocket()
+ this.list[this.list.length - 1].done = true
+ },
+ onLoginDone(){
+ uni.hideLoading()
+ this.list.push({
+ content: '您好!我是法律机器人,请问您想咨询什么问题呢?',
+ isMine: false,
+ loading: false,
+ done: true,
+ })
+ const _this = this
+ this.socket = uni.connectSocket({
+ url: `${WS_API}/${getUserInfo().uid}`,
+ success: () => {
+ _this.ping()
+ },
+ })
+ uni.onSocketMessage(res => {
+ if (res.data === '连接成功') return
+ const aiData = JSON.parse(res.data)
+ this.list[this.list.length - 1].loading = false
+ if (aiData.answer !== '__END__') this.list[this.list.length - 1].content += aiData.answer
+ this.taskId = aiData.taskId
+ this.scrollToBottom()
+ })
+ },
+ ping() {
+ this.timer = setInterval(() => {
+ if (this.socket) {
+ this.socket.send({
+ data: 'ping'
+ })
+ }
+ }, 10000)
}
},
onLoad() {
- this.list.push({
- content: '您好!我是法律机器人,请问您想咨询什么问题呢?',
- isMine: false,
- loading: false,
- done: true,
- })
- uni.connectSocket({
- url: `${WS_API}/${getUserInfo().uid}`
- })
- uni.onSocketMessage(res => {
- if (res.data === '连接成功') return
- const aiData = JSON.parse(res.data)
- this.list[this.list.length - 1].loading = false
- if (aiData.answer !== '__END__') this.list[this.list.length - 1].content += aiData.answer
- this.taskId = aiData.taskId
- this.scrollToBottom()
+ uni.showLoading({
+ title: '加载中...',
})
+ this.$refs.Login.doLogin()
this.getQuestionsList()
},
onUnload() {
+ if (this.timer) clearInterval(this.timer)
+ uni.closeSocket()
this.stopAI()
},
onHide() {
+ if (this.timer) clearInterval(this.timer)
+ uni.closeSocket()
this.stopAI()
},
+ onShareAppMessage() {
+ return {
+ title: "贵港公共法律服务",
+ path: `/pages/ai/index`
+ }
+ },
+ onShareTimeline() {
+ return {
+ title: "贵港公共法律服务",
+ path: `/pages/ai/index`
+ }
+ },
}
diff --git a/static/index/5.png b/static/index/5.png
new file mode 100644
index 0000000..332fda9
Binary files /dev/null and b/static/index/5.png differ
diff --git a/static/index/6.png b/static/index/6.png
new file mode 100644
index 0000000..66f1d8b
Binary files /dev/null and b/static/index/6.png differ
diff --git a/static/index/req.png b/static/index/req.png
new file mode 100644
index 0000000..490b6e9
Binary files /dev/null and b/static/index/req.png differ
diff --git a/static/index/微信图片_20251009215218_10897_9.png b/static/index/微信图片_20251009215218_10897_9.png
new file mode 100644
index 0000000..d06c886
Binary files /dev/null and b/static/index/微信图片_20251009215218_10897_9.png differ