{"remainingRequest":"/Users/admin/projects/dms/src/dealer_admin/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/admin/projects/dms/src/dealer_admin/src/views/assessment/list/components/form.vue?vue&type=script&lang=js","dependencies":[{"path":"/Users/admin/projects/dms/src/dealer_admin/src/views/assessment/list/components/form.vue","mtime":1713161556000},{"path":"/Users/admin/projects/dms/src/dealer_admin/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/Users/admin/projects/dms/src/dealer_admin/node_modules/babel-loader/lib/index.js","mtime":456789000000},{"path":"/Users/admin/projects/dms/src/dealer_admin/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/Users/admin/projects/dms/src/dealer_admin/node_modules/vue-loader/lib/index.js","mtime":499162500000}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport * as API from \"@/api/assessment\";\nimport _ from \"lodash\";\nimport {parseTime} from \"@/utils/index\";\nimport DealerListSelect from \"@/views/components/DealerListSelect.vue\";\nimport IndustrySelect from \"@/views/components/IndustrySelect.vue\";\nexport default {\n  components: {\n    DealerListSelect,\n    IndustrySelect\n  },\n  data() {\n    return {\n      editorOption: {},\n      dialogFormVisible: false,\n      textMap: {\n        add: \"新增\",\n        update: \"编辑\",\n      },\n      value: '',\n      // 新增更新相关\n      dialogStatus: \"add\",\n      disabled: false,\n      form: {\n        name: '',\n        startDate: \"\",\n        endDate:\"\",\n        standard:100,\n        objectType: null,   // 1: 群发 2:经销商列表 3:行业\n        dealerIdList:[],\n        industry:null,\n        remark:'',\n      },\n      dateTimeRange:[],\n      objectTypeList:[\n          {\n              name: '全部经销商',\n              value: 1\n          },\n          {\n              name: '经销商列表',\n              value: 2\n          },\n          {\n              name: '行业',\n              value: 3\n          },\n      ]\n    };\n  },\n  computed: {\n  },\n  created() {\n    this.$forceUpdate();\n  },\n  methods: {\n    resetForm() {\n      this.form = {\n        name: '',\n        startDate: \"\",\n        endDate:\"\",\n        standard:100,\n        objectType: null,   // 1: 群发 2:经销商列表 3:行业\n        dealerIdList:[],\n        industry:null,\n        remark:'',\n      };\n      this.dateTimeRange = [];\n    },\n    change(e) {\n      this.$forceUpdate();\n    },\n    async init(id) {\n      this.resetForm();\n      if (id) {\n        this.handleUpdate(id);\n      } else {\n        this.handleAdd();\n      }\n    },\n    /** 处理更新 */\n    async handleUpdate(_id) {\n      const resData = await API.detail(_id);\n      let detail = resData.result.detail;\n      this.form = Object.assign(this.form, detail,{\n        //dealer_list: (detail.dealer_list && detail.dealer_list != undefined ? detail.dealer_list : [])\n      });\n      if(detail.start_date && detail.end_date){\n        this.dateTimeRange = [\n          parseTime(detail.start_date),\n          parseTime(detail.end_date),\n        ]\n      }\n      this.dialogStatus = \"update\";\n      this.dialogFormVisible = true;\n      this.$nextTick(() => {\n        this.$refs[\"dataForm\"].clearValidate();\n      });\n    },\n\n    /** 处理新增 */\n    async handleAdd() {\n      this.dialogStatus = \"add\";\n      this.dialogFormVisible = true;\n      this.$nextTick(() => {\n        this.$refs[\"dataForm\"].clearValidate();\n      });\n    },\n\n    /** 表单提交，区分好 是 新增 、 更新 */\n    async dataFormSubmit() {\n      await this.$confirm(`确认？`, \"提示\", {\n        type: \"warning\"\n      });\n      this.$refs[\"dataForm\"].validate(async valid => {\n        if (valid) {\n          const tempData = _.cloneDeep(this.form);\n\n          if(!tempData.objectType){\n              this.$message({\n                  message: \"请先选择通知对象筛选\",\n                  type: \"error\"\n              });\n              return;\n          }\n          if(tempData.objectType == 2){\n              if(!tempData.dealerIdList || tempData.dealerIdList.length <= 0){\n                  this.$message({\n                      message: \"请至少选择一个经销商\",\n                      type: \"error\"\n                  });\n                  return;\n              }\n          }\n\n          tempData.dealerIdList = JSON.stringify(tempData.dealerIdList);\n\n          if(tempData.objectType == 3){\n              if(!tempData.industry ){\n                  this.$message({\n                      message: \"请选择行业\",\n                      type: \"error\"\n                  });\n                  return;\n              }\n          }\n\n          if(this.dateTimeRange && this.dateTimeRange.length == 2){\n            tempData.startDate = this.dateTimeRange[0];\n            tempData.endDate = this.dateTimeRange[1];\n            let startYear = tempData.startDate.split(\"-\")[0];\n            let endYear = tempData.endDate.split(\"-\")[0];\n            if(startYear != endYear){\n              this.$message({\n                message: `年份时间需一致`,\n                type: \"error\",\n              });\n              return false;\n            }\n\n          }\n          let res;\n          if (this.dialogStatus === \"update\") {\n            tempData.id = this.form._id;\n            res = await API.update(tempData);\n          } else if (this.dialogStatus === \"add\") {\n            res = await API.create(tempData);\n          }\n          this.dialogFormVisible = false;\n\n          this.$message({\n            message: `${this.textMap[this.dialogStatus]}成功`,\n            type: \"success\",\n            duration: 1501,\n            onClose: () => {\n            }\n          });\n\n          setTimeout(() => {\n            this.$emit(\"refreshDataList\");\n          }, 500);\n        }\n      });\n    }\n  }\n};\n",null]}