zmc
2023-09-05 c2f95b0b9090a2394b5b068582b932a5e57b86aa
src/views/setting/SetConfiguration.vue
@@ -1,76 +1,75 @@
<script>
import {useCounterStore} from '@/stores/counter';
export default {
   data(){
import TimeSelectWithShortCuts from '@/sfc/TimeSelectWithShortCuts.vue';
import settingApi from '@/api/data_access_setting/settingApi.js'
import dayjs from 'dayjs';
  export default {
    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
    }
   },
   computed:{
    a(){
      return this.store.doubleCount*2
    },
   },
   mounted(){
    mounted() {
   },
   methods:{
    doThing(){
      this.store.increment(5)
      this.store.doubleCount
    }
   }
    },
    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');
      },
      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>
  <div>生成配置文件</div>
  <el-form>
    <el-form-item label="区域">
      <el-radio-group v-model="radio">
    <el-radio :label="0">金山</el-radio>
    <!-- <el-radio :label="6">Option B</el-radio>
    <el-radio :label="9">Option C</el-radio> -->
  </el-radio-group>
    </el-form-item>
    <el-form-item label="选择起始时间">
      <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 @click="set">设置</el-button></el-form-item>
  </el-form>
</template>
<style scoped>
<style  scoped>
</style>