riku
2023-12-21 c24a5a2a99515b365ebc343b04538bb862790de1
src/views/setting/SetConfiguration.vue
@@ -1,76 +1,107 @@
<script>
import {useCounterStore} from '@/stores/counter';
import TimeSelectWithShortCuts from '@/sfc/TimeSelectWithShortCuts.vue'
import settingApi from '@/api/data_access_setting/settingApi.js'
import dayjs from 'dayjs'
import { ElMessage } from 'element-plus'
// import exceptionApi from '@/api/exceptionApi.js'
export default {
   data(){
      return{
  components: {
    TimeSelectWithShortCuts
  },
  data() {
    return {
      // 区域
      radio: 0,
      // 定时
      radio1: '',
      beginTime: '',
      endTime: '',
      }
   },
   setup(){
    const store = useCounterStore()
    const unsubscribe = store.$onAction(
  ({
    name, // action 的名字
    store, // store 实例
    args, // 调用这个 action 的参数
    after, // 在这个 action 执行完毕之后,执行这个函数
    onError, // 在这个 action 抛出异常的时候,执行这个函数
  }) => {
    // 记录开始的时间变量
    const startTime = Date.now()
    // 这将在 `store` 上的操作执行之前触发
    console.log(`Start "${name}" with params [${args.join(', ')}].`)
    // 如果 action 成功并且完全运行后,after 将触发。
    // 它将等待任何返回的 promise
    after((result) => {
      console.log(
        `Finished "${name}" after ${
          Date.now() - startTime
        }ms.\nResult: ${result}.`
      )
    })
    // 如果 action 抛出或返回 Promise.reject ,onError 将触发
    onError((error) => {
      console.warn(
        `Failed "${name}" after ${Date.now() - startTime}ms.\nError: ${error}.`
      )
    })
  }
)
    return{
      store,unsubscribe
      // a :[],
      // exception: {
      //   // 断电或断网
      //   exception0: [],
      //   // 数据超低
      //   exception1: [],
      //   // 超标
      //   exception2: [],
      //   // 数据长时段无波动
      //   exception3: [],
      //   // 量级突变异常
      //   exception4: [],
      // }
    }
   },
   computed:{
    a(){
      return this.store.doubleCount*2
  },
  mounted() {
    // this.get()
    // this.getAll()
    console.log('时间',new Date().getMilliseconds());
  },
  methods: {
    giveTime(val) {
      //将中国标准时间转为指定格式(该组件返回的标准时间的格式,所以必须的加这个函数)
      this.beginTime = dayjs(val[0]).format('YYYY-MM-DD HH:mm:ss')
      this.endTime = dayjs(val[1]).format('YYYY-MM-DD HH:mm:ss')
    },
   },
   mounted(){
   },
   methods:{
    doThing(){
      this.store.increment(5)
      this.store.doubleCount
    }
   }
    set() {
      const params = {}
      params.user = 'admin'
      params.beginTime = this.beginTime
      params.endTime = this.endTime
      params.region = '金山'
      params.isRegularTime = this.radio1
      settingApi.submitSetting(params).then((res) => {
        if (res.data.code == 1) {
          ElMessage.success('设置成功')
        } else {
          ElMessage('设置失败')
        }
      })
    },
  }
}
</script>
<template>
  <div>
    <el-button type="primary" @click="doThing">点击{{ store.doubleCount }}</el-button>
  </div>
  <div>{{ a }}</div>
  <div>{{ store.secret }}</div>
  <div>{{ store.vue }}</div>
  <div>{{ store.天 }}</div>
  <el-card>
  <el-form>
    <div>生成配置文件</div>
    <el-form-item label="区域:">
      <el-radio-group v-model="radio">
        <el-radio :label="0">金山</el-radio>
      </el-radio-group>
    </el-form-item>
    <el-form-item>
      <TimeSelectWithShortCuts @submit-time="giveTime"></TimeSelectWithShortCuts>
    </el-form-item>
    <el-form-item label="是否定时:">
      <el-radio-group v-model="radio1">
        <el-radio label="1" size="large">是</el-radio>
        <el-radio label="2" size="large">否</el-radio>
      </el-radio-group>
    </el-form-item>
    <el-form-item> <el-button type="success" @click="set">设置</el-button></el-form-item>
  </el-form>
  <correct theme="outline" size="24" fill="#333"/>
</el-card>
</template>
<style scoped>
</style>
<style scoped>
.el-card {
  margin: 10px;
}
div {
  margin-bottom: 10px;
  color: #333333;
}
:deep(.el-form-item__label) {
  font-weight: bold;
  font-size: 16px;
  color: #333333;
}
</style>