feat: 生产部署 + 会议全链路 (执行方分配/费用结算/签到脱敏/H5相机)
- 生产 nginx 三路径: ry-vue3 /hg/, ry-h5 /camera/, API /hg-api, .env 分环境 - 签约链接/摄像头 base-url 走 yml, 不再硬编码 /hg 与 localhost - 新增 biz_project_executor_assign (镜像 sponsor_assign) 执行方项目级分配 - 会议费用后台汇总 FeeCalcScheduler + 结算回写项目金额 + 状态流转调度 - 签到表拍照高斯模糊脱敏 extra_oss_url, 新增 PosterService/StageDeriver - 清理 biz_support_intent 旧表 (6 Java/XML 删除) - ry-h5 相机黑屏修复: 显式 video.play() + 动态 apiBase 上传 - 资源: simhei 字体 / logo.png / qrcode_1.png / favicon.ico Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -34,6 +34,12 @@
|
||||
<el-option label="未结题" value="0" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="是否结算">
|
||||
<el-select v-model="q.isSettled" placeholder="全部" clearable style="width: 120px">
|
||||
<el-option label="已结算" value="Y" />
|
||||
<el-option label="未结算" value="N" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="load">查找</el-button>
|
||||
<el-button @click="reset">重置</el-button>
|
||||
@@ -206,13 +212,14 @@
|
||||
|
||||
<script setup>
|
||||
import { ref, reactive, onMounted } from 'vue'
|
||||
import { useRoute } from 'vue-router'
|
||||
import { bizList, bizAdd, bizUpdate } from '@/api/public'
|
||||
import request from '@/utils/request'
|
||||
import { ElMessage, ElMessageBox } from 'element-plus'
|
||||
|
||||
const rows = ref([])
|
||||
const loading = ref(false)
|
||||
const q = reactive({ projectNo: '', projectName: '', projectForm: '', isFinished: '' })
|
||||
const q = reactive({ projectNo: '', projectName: '', projectForm: '', isFinished: '', isSettled: '' })
|
||||
const page = reactive({ pageNum: 1, pageSize: 10, total: 0 })
|
||||
const selected = ref([])
|
||||
|
||||
@@ -257,8 +264,17 @@ async function loadPersons() {
|
||||
} catch (e) { personList.value = [] }
|
||||
}
|
||||
|
||||
// 读 URL query 写入 q (Home KPI 卡跳转时带 ?isSettled=Y / ?isFinished=1, 让列表页自动应用筛选)
|
||||
// 只读不改 URL — Home 是 source of truth, 列表页内 reset()/search 不反向写 URL
|
||||
const route = useRoute()
|
||||
function readQueryFromRoute() {
|
||||
const q2 = route.query
|
||||
if (q2.isFinished != null && q2.isFinished !== '') q.isFinished = String(q2.isFinished)
|
||||
if (q2.isSettled != null && q2.isSettled !== '') q.isSettled = String(q2.isSettled)
|
||||
}
|
||||
|
||||
function reset() {
|
||||
Object.assign(q, { projectNo: '', projectName: '', projectForm: '', isFinished: '' })
|
||||
Object.assign(q, { projectNo: '', projectName: '', projectForm: '', isFinished: '', isSettled: '' })
|
||||
page.pageNum = 1
|
||||
load()
|
||||
}
|
||||
@@ -427,7 +443,7 @@ async function submitAssign() {
|
||||
} catch (e) { ElMessage.error(e?.msg || '分配失败') }
|
||||
}
|
||||
|
||||
onMounted(() => { load(); loadPersons() })
|
||||
onMounted(() => { readQueryFromRoute(); load(); loadPersons() })
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
Reference in New Issue
Block a user