Newer
Older
KaiFengPC / src / views / dataAnalysis / manualAssay / landWater.vue
@鲁yixuan 鲁yixuan on 2 Sep 9 KB updata
  1. <template>
  2. <!-- 数据采集子系统 人工化验 下垫面化验采集-->
  3. <div class="publicContainer">
  4. <!-- 搜索区域 -->
  5. <el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch">
  6. <el-form-item label="采样地点" prop="title">
  7. <el-input v-model="queryParams.title" placeholder="请输入采样地点" clearable />
  8. </el-form-item>
  9. <el-form-item label="年份">
  10. <el-date-picker
  11. type="year"
  12. v-model="queryParams.trainTime"
  13. value-format="YYYY"
  14. placeholder="请选择年"
  15. style="width: 100%"
  16. ></el-date-picker>
  17. </el-form-item>
  18. <el-form-item>
  19. <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
  20. <el-button icon="Refresh" @click="resetQuery">重置</el-button>
  21. </el-form-item>
  22. </el-form>
  23.  
  24. <!-- 按钮区域 -->
  25. <el-row :gutter="10" class="mb8">
  26. <el-col :span="1.5">
  27. <el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['floodSys:jing:add']">新增</el-button>
  28. </el-col>
  29. <right-toolbar v-model:showSearch="showSearch" @queryTable="getDataList"></right-toolbar>
  30. </el-row>
  31.  
  32. <!-- 表格 -->
  33. <el-table v-loading="tableLoading" :data="tableData" max-height="650">
  34. <el-table-column label="序号" type="index" width="55" />
  35. <el-table-column label="采样日期" prop="trainTime" />
  36. <el-table-column label="采样地点" prop="address" />
  37. <el-table-column label="pH" prop="title" />
  38. <el-table-column label="悬浮物SS(mg/L)" prop="people" />
  39. <el-table-column label="COD(mg/L)" prop="content" />
  40. <el-table-column label="总氮TN(mg/L)" prop="title" />
  41. <el-table-column label="总磷TP(mg/L)" prop="people" />
  42. <el-table-column label="氨氮(mg/L)" prop="content" />
  43. <el-table-column label="检测报告" prop="report">
  44. <template #default="scope">
  45. <span
  46. class="filePreview"
  47. @click="
  48. previewPdf(
  49. 'https://server1.wh-nf.cn:9000/newfiber-standard-kaifeng/2024/07/15/4-2-6 2022年示范区老旧小区改造项目(二)竣工验收报告_20240715154024A438.pdf'
  50. )
  51. "
  52. >
  53. 检测报告.pdf
  54. </span>
  55. </template>
  56. </el-table-column>
  57. <el-table-column label="操作" width="160" class-name="small-padding fixed-width">
  58. <template #default="scope">
  59. <el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['floodSys:jing:edit']">修改</el-button>
  60. <el-button link type="danger" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['floodSys:jing:remove']">
  61. 删除
  62. </el-button>
  63. </template>
  64. </el-table-column>
  65. </el-table>
  66. <!-- 分页 -->
  67. <pagination
  68. v-show="total > 0"
  69. :total="total"
  70. v-model:page="queryParams.pageNum"
  71. v-model:limit="queryParams.pageSize"
  72. @pagination="getDataList"
  73. />
  74.  
  75. <!-- 添加或修改弹窗 -->
  76. <el-dialog :title="dialogTitle" v-model="dialogShow" width="800px" append-to-body>
  77. <el-form ref="formRef" :model="formData" :rules="rulesForm" label-width="120px" class="publicForm flex50">
  78. <el-form-item label="采样日期:" prop="trainTime">
  79. <el-date-picker type="date" v-model="formData.trainTime" value-format="YYYY-MM-DD" placeholder="请选择采样日期" />
  80. </el-form-item>
  81. <el-form-item label="采样地点:" prop="address">
  82. <el-input type="text" v-model="formData.address" placeholder="请输入采样地点" clearable style="width: 100%" />
  83. </el-form-item>
  84. <el-form-item label="pH:" prop="title">
  85. <el-input type="text" v-model="formData.title" placeholder="请输入土壤渗透系数" clearable style="width: 100%" />
  86. </el-form-item>
  87. <el-form-item label="悬浮物(SS):" prop="people">
  88. <el-input type="text" v-model="formData.people" placeholder="请输入悬浮物(SS)" clearable style="width: 100%" />
  89. </el-form-item>
  90. <el-form-item label="COD:" prop="content">
  91. <el-input type="text" v-model="formData.content" placeholder="请输入COD" clearable style="width: 100%" />
  92. </el-form-item>
  93. <el-form-item label="总氮(TN):" prop="content">
  94. <el-input type="text" v-model="formData.content" placeholder="请输入总氮(TN)" clearable style="width: 100%" />
  95. </el-form-item>
  96. <el-form-item label="总磷(TP):" prop="content">
  97. <el-input type="text" v-model="formData.content" placeholder="请输入总磷(TP)" clearable style="width: 100%" />
  98. </el-form-item>
  99. <el-form-item label="氨氮:" prop="content">
  100. <el-input type="text" v-model="formData.content" placeholder="请输入氨氮" clearable style="width: 100%" />
  101. </el-form-item>
  102. <el-form-item label="检测报告:" prop="reportList">
  103. <ImageFileUpload
  104. :limit="1"
  105. :saveFileArr="formData.reportList"
  106. :listType="'text'"
  107. :refField="'trfield'"
  108. :refType="'tr_site_info'"
  109. :fileType="['pdf']"
  110. ></ImageFileUpload>
  111. </el-form-item>
  112. </el-form>
  113. <template #footer>
  114. <div class="dialog-footer">
  115. <el-button type="info" @click="cancelForm">取 消</el-button>
  116. <el-button type="primary" @click="submitForm">确 定</el-button>
  117. </div>
  118. </template>
  119. </el-dialog>
  120. </div>
  121. </template>
  122.  
  123. <script setup>
  124. import { specialNavPage, specialNavAdd, specialNavDel, specialNavDetail, specialNavEdit } from '@/api/publicService/index';
  125. import ImageFileUpload from '@/components/ImageFileUpload/index.vue'; //图片文件上传
  126.  
  127. const { proxy } = getCurrentInstance();
  128.  
  129. const tableData = ref([]);
  130. // const tableLoading = ref(true);
  131. const total = ref(0);
  132. const dialogShow = ref(false);
  133. const dialogTitle = ref('');
  134. const showSearch = ref(true);
  135.  
  136. const allData = reactive({
  137. formData: {
  138. reportList: [],
  139. linkType: '',
  140. linkUrl: '',
  141. platePosition: '',
  142. },
  143. queryParams: {
  144. pageNum: 1,
  145. pageSize: 10,
  146. trainTime: '',
  147. title: '',
  148. },
  149. rulesForm: {
  150. trainTime: [{ required: true, message: '请选择培训日期', trigger: 'change' }],
  151. linkUrl: [{ required: true, message: '请输入跳转链接', trigger: 'blur' }],
  152. address: [{ required: true, message: '请输入培训地点', trigger: 'blur' }],
  153. title: [{ required: true, message: '请输入培训宣传名称', trigger: 'blur' }],
  154. people: [{ required: true, message: '请输入参加人员', trigger: 'blur' }],
  155. content: [{ required: true, message: '请输入培训内容', trigger: 'blur' }],
  156. reportList: [{ required: true, message: '请选择检测报告', trigger: 'change', type: 'array' }],
  157. },
  158. });
  159. const { queryParams, formData, rulesForm } = toRefs(allData);
  160. /** 获取搜索数据列表 */
  161. function getDataList() {
  162. // tableLoading.value = true;
  163. tableData.value = [
  164. {
  165. trainTime: '2024-03-21',
  166. },
  167. ];
  168. // tableLoading.value = true;
  169. // specialNavPage(queryParams.value).then(response => {
  170. // tableData.value = response.data;
  171. // total.value = response.total;
  172. // tableLoading.value = false;
  173. // });
  174. }
  175. /** 取消按钮 */
  176. function cancelForm() {
  177. dialogShow.value = false;
  178. }
  179.  
  180. /** 搜索按钮操作 */
  181. function handleQuery() {
  182. queryParams.value.pageNum = 1;
  183. getDataList();
  184. }
  185. /** 重置按钮操作 */
  186. function resetQuery() {
  187. proxy.resetForm('queryRef');
  188. handleQuery();
  189. }
  190. /** 新增按钮操作 */
  191. function handleAdd() {
  192. proxy.resetForm('formRef'); //清空表单
  193. dialogShow.value = true;
  194. dialogTitle.value = '新增下垫面检测';
  195. }
  196. /** 修改按钮操作 */
  197. function handleUpdate(row) {
  198. dialogShow.value = true;
  199. dialogTitle.value = '修改下垫面检测';
  200.  
  201. // specialNavDetail(row.id).then(response => {
  202. // dialogShow.value = true;
  203. // dialogTitle.value = '修改培训宣传';
  204. // setTimeout(() => {
  205. // formData.value = response.data;
  206. // });
  207. // });
  208. }
  209. /** 提交按钮 */
  210. function submitForm() {
  211. // proxy.$refs['formRef'].validate(valid => {
  212. // if (valid) {
  213. // if (dialogTitle.value == '修改培训宣传') {
  214. // specialNavEdit(formData.value).then(response => {
  215. // proxy.$modal.msgSuccess('修改成功');
  216. // dialogShow.value = false;
  217. // getDataList();
  218. // });
  219. // } else {
  220. // if (formData.value.id) delete formData.value.id;
  221. // specialNavAdd(formData.value).then(response => {
  222. // proxy.$modal.msgSuccess('新增成功');
  223. // dialogShow.value = false;
  224. // getDataList();
  225. // });
  226. // }
  227. // }
  228. // });
  229. }
  230. /** 删除按钮操作 */
  231. function handleDelete(row) {
  232. // const postIds = row.id;
  233. // proxy.$modal
  234. // .confirm('是否确认删除该数据项?')
  235. // .then(function () {
  236. // return specialNavDel(postIds);
  237. // })
  238. // .then(() => {
  239. // getDataList();
  240. // proxy.$modal.msgSuccess('删除成功');
  241. // })
  242. // .catch(() => {});
  243. }
  244.  
  245. function previewPdf(url) {
  246. window.open(url);
  247. }
  248.  
  249. onMounted(() => {
  250. getDataList();
  251. });
  252. </script>
  253. <style lang="scss"></style>