collectDetail.vue 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. <template>
  2. <scroll-view class="scroll-height" :scroll-y="true" :data-theme="'theme-' + proxy.$settingStore.themeColor.name">
  3. <view class="bg-white p15">
  4. <u-form ref="form" labelPosition="left" :model="model" :rules="rules" labelWidth="82">
  5. <u-form-item label="地点号码:" prop="siteNubmber">
  6. <u-input v-model="model.siteNubmber" disabled></u-input>
  7. </u-form-item>
  8. <u-form-item label="地点名称:" prop="siteName">
  9. <u-input v-model="model.siteName"></u-input>
  10. </u-form-item>
  11. <u-form-item label="备注:" prop="siteDescribe">
  12. <u-input v-model="model.siteDescribe"></u-input>
  13. </u-form-item>
  14. </u-form>
  15. <u-button type="primary" class="mt15" style="width: 100%; height: 40px; font-size: 14px" @click="handleInsert()" shape="circle"> 保存 </u-button>
  16. </view>
  17. </scroll-view>
  18. </template>
  19. <script setup>
  20. import {
  21. onReady,
  22. onLoad,
  23. onShow,
  24. onPullDownRefresh, //下拉刷新
  25. onReachBottom, // 上拉加载
  26. onNavigationBarButtonTap,
  27. } from "@dcloudio/uni-app";
  28. import { ref, onMounted, inject, shallowRef, reactive, getCurrentInstance, toRefs } from "vue";
  29. import { useStores, commonStores, xunJianStores } from "@/store/modules/index";
  30. const commonStore = commonStores(); //全局公共Store
  31. const xunJianStore = xunJianStores(); //全局变量值Store
  32. const { proxy } = getCurrentInstance();
  33. const form = ref(null); //表单refs获取
  34. const model = reactive({
  35. siteType: 1,
  36. siteTime: "",
  37. swipeBool: false,
  38. siteName: "",
  39. siteNubmber: "",
  40. siteDescribe: "",
  41. }); //form表单数据定义
  42. const rules = ref({
  43. siteName: {
  44. type: "string",
  45. required: true,
  46. message: "地点名称不能为空",
  47. trigger: ["blur", "change"],
  48. },
  49. siteNubmber: [{ required: true, message: "地点编号不能为空", trigger: "blur" }],
  50. siteDescribe: [{ min: 1, max: 30, message: "长度在 1 到 30 个字符", trigger: "blur" }],
  51. }); //form表单校验
  52. /**
  53. * @保存按钮点击事件
  54. */
  55. function handleInsert() {
  56. form.value
  57. .validate()
  58. .then((res) => {
  59. let endTime = new Date();
  60. model.siteTime = commonStore.formatterDate(endTime, "yyyy-MM-dd hh:mm:ss");
  61. xunJianStore.collectDataList.push(model);
  62. uni.navigateBack({
  63. delta: 1, //返回到需要执行方法的页面
  64. });
  65. })
  66. .catch((errors) => {
  67. uni.$u.toast("校验失败");
  68. });
  69. }
  70. onLoad((options) => {
  71. model.siteType = options.siteType;
  72. model.siteNubmber = options.siteNubmber;
  73. });
  74. onShow(() => {
  75. //调用系统主题颜色
  76. proxy.$settingStore.systemThemeColor([1]);
  77. });
  78. onMounted(() => {});
  79. </script>
  80. <style lang="scss">
  81. .is-selected {
  82. color: #1989fa;
  83. }
  84. </style>
  85. <style scoped>
  86. .reportCenter {
  87. }
  88. .reportCenter .centerSiteName {
  89. font-size: 15px;
  90. margin-bottom: 5px;
  91. height: 20px;
  92. line-height: 20px;
  93. display: flex;
  94. }
  95. .reportRight {
  96. display: flex;
  97. padding: 0 15px;
  98. }
  99. </style>