From c3e3920e4e7fcda3dd986c00bb80188381e93015 Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期四, 18 四月 2024 09:59:50 +0800
Subject: [PATCH] Merge branch 'master' of https://gitee.com/a1536384743/erp_-override

---
 north-glass-erp/northglass-erp/src/views/sd/customer/CreateCustomer.vue |  229 ++++++++++++++++++++++++++++++++------------------------
 1 files changed, 131 insertions(+), 98 deletions(-)

diff --git a/north-glass-erp/northglass-erp/src/views/sd/customer/CreateCustomer.vue b/north-glass-erp/northglass-erp/src/views/sd/customer/CreateCustomer.vue
index 458c395..8b6da70 100644
--- a/north-glass-erp/northglass-erp/src/views/sd/customer/CreateCustomer.vue
+++ b/north-glass-erp/northglass-erp/src/views/sd/customer/CreateCustomer.vue
@@ -1,118 +1,149 @@
 <script lang="ts" setup>
-import { reactive, ref } from 'vue'
-import type { FormInstance, FormRules } from 'element-plus'
+import {onMounted, reactive, ref} from "vue";
+import {useRoute, useRouter} from "vue-router"
+import request from "@/utils/request"
+import {ElMessage} from "element-plus";
+import deepClone from "@/utils/deepClone"
+import { useI18n } from 'vue-i18n'
 
-const ruleFormRef = ref<FormInstance>()
+//璇█鑾峰彇
+const { t } = useI18n()
+const router = useRouter()
+const route = useRoute()
+let produceList = ref([])
 
-const checkAge = (rule: any, value: any, callback: any) => {
-  if (!value) {
-    return callback(new Error('Please input the age'))
-  }
-  setTimeout(() => {
-    if (!Number.isInteger(value)) {
-      callback(new Error('Please input digits'))
-    } else {
-      if (value < 18) {
-        callback(new Error('Age must be greater than 18'))
-      } else {
-        callback()
+
+
+
+let ruleForm = ref({
+  id:0,
+  customerName: '',
+  grade: '',
+  moneyLimit: '',
+  address: '',
+  contact: '',
+  phone: ''
+
+})
+
+
+
+onMounted(()=>{
+
+  //鑾峰彇浼犺繃鏉ョ殑鏁版嵁杩涜鍒ゆ柇
+  const str = route.query.id
+  if (typeof str != 'undefined' && str != null && str !== '' && str !== '\n' && str !== '\r'){
+    ruleForm.value.id = Number(str)
+
+    request.post(`/customer/getSelectCustomer/1/100`,ruleForm.value).then((res) => {
+      if(res.code==200){
+        ruleForm.value=deepClone(res.data.data[0])
+
+      }else{
+        ElMessage.warning(res.msg)
+        router.push("/login")
       }
-    }
-  }, 1000)
-}
-
-const validatePass = (rule: any, value: any, callback: any) => {
-  if (value === '') {
-    callback(new Error('Please input the password'))
-  } else {
-    if (ruleForm.checkPass !== '') {
-      if (!ruleFormRef.value) return
-      ruleFormRef.value.validateField('checkPass', () => null)
-    }
-    callback()
+    })
   }
-}
-const validatePass2 = (rule: any, value: any, callback: any) => {
-  if (value === '') {
-    callback(new Error('Please input the password again'))
-  } else if (value !== ruleForm.pass) {
-    callback(new Error("Two inputs don't match!"))
-  } else {
-    callback()
-  }
-}
 
-const ruleForm = reactive({
-  pass: '',
-  checkPass: '',
-  age: '',
+
 })
 
-const rules = reactive<FormRules<typeof ruleForm>>({
-  pass: [{ validator: validatePass, trigger: 'blur' }],
-  checkPass: [{ validator: validatePass2, trigger: 'blur' }],
-  age: [{ validator: checkAge, trigger: 'blur' }],
-})
 
-const submitForm = (formEl: FormInstance | undefined) => {
-  if (!formEl) return
-  formEl.validate((valid) => {
-    if (valid) {
-      console.log('submit!')
-    } else {
-      console.log('error submit!')
-      return false
+//淇濆瓨鎻愪氦
+const submitForm = () => {
+  //琛ㄥご鏁版嵁鏍¢獙
+  const customerName = ruleForm.value.customerName
+  if(customerName === null || customerName === undefined || customerName === ''){
+    ElMessage.error(t('customer.pleaseEnterTheCustomerName'))
+    return
+  }
+  const grade = ruleForm.value.grade
+  if(grade === null || grade === undefined || grade === ''){
+    ElMessage.error(t('customer.pleaseEnterCustomerLevel'))
+    return
+  }
+  const moneyLimit = ruleForm.value.moneyLimit
+  if(moneyLimit === null || moneyLimit === undefined || moneyLimit === ''){
+    ElMessage.error(t('customer.pleaseEnterTheAmountOfFunds'))
+    return
+  }
+  const address = ruleForm.value.address
+  if(address === null || address === undefined || address === ''){
+    ElMessage.error(t('customer.pleaseEnterTheContactAddress'))
+    return
+  }
+  const contact = ruleForm.value.contact
+  if(contact === null || contact === undefined || contact === ''){
+    ElMessage.error(t('customer.pleaseEnterTheContactPerson'))
+    return
+  }
+  const phone = ruleForm.value.phone
+  if(phone === null || phone === undefined || phone === ''){
+    ElMessage.error(t('customer.pleaseEnterTheContactPhoneNumber'))
+    return
+  }
+
+  let flowData = ref({
+    customer: ruleForm
+  })
+
+  request.post("/customer/insertCustomer", flowData.value).then((res) => {
+    if(res.code==200){
+      resetForm()
+      ElMessage.success(t('basicData.msg.saveSuccess'))
+    }else{
+      ElMessage.warning(res.msg)
+      router.push("/login")
     }
   })
-}
 
-const resetForm = (formEl: FormInstance | undefined) => {
-  if (!formEl) return
-  formEl.resetFields()
+}
+//閲嶇疆杈撳叆妗�
+const resetForm = () => {
+  ruleForm.value.customerName=""
+  ruleForm.value.grade=""
+  ruleForm.value.moneyLimit=""
+  ruleForm.value.address=""
+  ruleForm.value.contact=""
+  ruleForm.value.phone=""
 }
 </script>
 
 <template>
   <div class="main-div">
-    <div class="div-form">
-      <el-form
-          ref="ruleFormRef"
-          :model="ruleForm"
-          status-icon
-          :rules="rules"
-          label-width="120px"
-          class="demo-ruleForm"
-      >
-        <el-form-item label="瀹㈡埛鍚嶇О" prop="pass">
-          <el-input  v-model="ruleForm.pass" type="text" autocomplete="off" />
-        </el-form-item>
-        <el-form-item label="瀹㈡埛绛夌骇" prop="checkPass">
-          <el-input
-              v-model="ruleForm.checkPass"
-              type="text"
-              autocomplete="off"
-          />
-        </el-form-item>
-        <el-form-item label="淇$敤棰濆害" prop="age">
-          <el-input v-model.number="ruleForm.age" />
-        </el-form-item>
-        <el-form-item label="鍦板潃" prop="age">
-          <el-input v-model.number="ruleForm.age" />
-        </el-form-item>
-        <el-form-item label="鑱旂郴浜�" prop="age">
-          <el-input v-model.number="ruleForm.age" />
-        </el-form-item>
-        <el-form-item label="鑱旂郴鐢佃瘽" prop="age">
-          <el-input v-model.number="ruleForm.age" />
-        </el-form-item>
-        <el-form-item>
-          <el-button type="primary" @click="submitForm(ruleFormRef)"
-          >淇濆瓨</el-button
-          >
-          <el-button @click="resetForm(ruleFormRef)">閲嶇疆</el-button>
-        </el-form-item>
-      </el-form>
+
+    <div class="order-primary" >
+      <el-row>
+        <el-col  :span="2"><el-text>{{ $t('customer.customerName') }}:</el-text></el-col>
+        <el-col  :span="5"><el-input style="font-size: large;color: #181818" v-model="ruleForm.customerName"  ></el-input></el-col>
+      </el-row>
+      <el-row>
+        <el-col  :span="2"><el-text>{{ $t('customer.customerGrade') }}:</el-text></el-col>
+        <el-col  :span="5"><el-input style="font-size: large;color: #181818" v-model="ruleForm.grade"  ></el-input></el-col>
+      </el-row>
+      <el-row>
+        <el-col  :span="2"><el-text>{{ $t('customer.moneyLimit') }}:</el-text></el-col>
+        <el-col  :span="5"><el-input style="font-size: large;color: #181818" v-model="ruleForm.moneyLimit"  ></el-input></el-col>
+      </el-row>
+      <el-row>
+        <el-col  :span="2"><el-text>{{ $t('customer.address') }}:</el-text></el-col>
+        <el-col  :span="5"><el-input style="font-size: large;color: #181818" v-model="ruleForm.address"  ></el-input></el-col>
+      </el-row>
+      <el-row>
+        <el-col  :span="2"><el-text>{{ $t('customer.contacts') }}:</el-text></el-col>
+        <el-col  :span="5"><el-input style="font-size: large;color: #181818" v-model="ruleForm.contact"  ></el-input></el-col>
+      </el-row>
+      <el-row>
+        <el-col  :span="2"><el-text>{{ $t('customer.telephone') }}:</el-text></el-col>
+        <el-col  :span="5"><el-input style="font-size: large;color: #181818" v-model="ruleForm.phone"  ></el-input></el-col>
+      </el-row>
+      <el-row>
+        <el-col  :span="2"><el-button type="primary" @click="submitForm()">{{ $t('basicData.save') }}</el-button></el-col>
+        <el-col  :span="2"><el-button @click="resetForm()">{{ $t('customer.resetting') }}</el-button></el-col>
+      </el-row>
     </div>
+
   </div>
 
 
@@ -126,8 +157,10 @@
 }
 
 .div-form{
-  margin-left: 30%;
   height:70%;
   width: 40%;
 }
+.el-row{
+  margin-bottom: 0.5rem;
+}
 </style>
\ No newline at end of file

--
Gitblit v1.8.0