collectDetail.vue 3.5 KB

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