From 1e653db94c24389cc7615fd4a7ef1d63b00af534 Mon Sep 17 00:00:00 2001
From: cuilei <ray_tsu1@163.com>
Date: 星期五, 13 六月 2025 11:39:32 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/views/tms/modules/baseTools/ParaBaseModal.vue |  288 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 288 insertions(+), 0 deletions(-)

diff --git a/src/views/tms/modules/baseTools/ParaBaseModal.vue b/src/views/tms/modules/baseTools/ParaBaseModal.vue
new file mode 100644
index 0000000..1229690
--- /dev/null
+++ b/src/views/tms/modules/baseTools/ParaBaseModal.vue
@@ -0,0 +1,288 @@
+<template>
+  <j-modal
+    :title="title"
+    :width="1200"
+    :visible="visible"
+    centered
+    :confirmLoading="confirmLoading"
+    :okButtonProps="{ class:{'jee-hidden': disableSubmit} }"
+    switchFullscreen
+    @ok="handleOk"
+    @cancel="handleCancel"
+    cancelText="鍏抽棴">
+    <a-spin :spinning="confirmLoading">
+      <a-form-model ref="form" :model="model" :rules="validatorRules" :labelCol="labelCol" :wrapperCol="wrapperCol">
+        <a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;"> 宸ュ叿鍩虹淇℃伅
+        </a-divider>
+
+        <a-row :gutter="24">
+              <a-col :span="8">
+                <a-form-model-item prop="classifyNum" label="宸ュ叿鍒嗙被缂栫爜">
+                  <a-input placeholder="璇疯緭鍏ュ伐鍏峰垎绫荤紪鐮�" v-model="model.classifyNum" :disabled="true" />
+                </a-form-model-item>
+              </a-col>
+              <a-col :span="8">
+                <a-form-model-item prop="classifyName" label="宸ュ叿鍒嗙被鍚嶇О">
+                  <a-input placeholder="璇疯緭鍏ュ伐鍏峰垎绫诲悕绉�" v-model="model.classifyName"  :disabled="true" />
+                </a-form-model-item>
+              </a-col>
+              <a-col :span="8">
+                <a-form-model-item prop="toolCode" label="宸ュ叿缂栫爜">
+                  <a-input :placeholder="disableSubmit?'':'璇疯緭鍏ュ伐鍏风紪鐮�'" v-model="model.toolCode" :disabled="disableSubmit"/>
+                </a-form-model-item>
+              </a-col>
+            </a-row>
+
+            <a-row>
+              <a-col :span="8">
+                <a-form-model-item prop="chineseName"
+                                   label="涓枃鍚嶇О">
+                  <a-input :placeholder="disableSubmit?'':'璇疯緭鍏ヤ腑鏂囧悕绉�'" v-model="model.chineseName" :disabled="disableSubmit"/>
+                </a-form-model-item>
+              </a-col>
+              <a-col :span="8">
+                <a-form-model-item prop="foreignLanguageName"
+                                   label="澶栨枃鍚嶇О">
+                  <a-input :placeholder="disableSubmit?'':'璇疯緭鍏ュ鏂囧悕绉�'" v-model="model.foreignLanguageName" :disabled="disableSubmit" />
+                </a-form-model-item>
+              </a-col>
+              <a-col :span="8">
+                <a-form-model-item prop="toolModel"
+                                   label="鍨嬪彿/鍥惧彿">
+                  <a-input :placeholder="disableSubmit?'':'璇疯緭鍏ュ瀷鍙�/鍥惧彿'" v-model="model.toolModel" :disabled="disableSubmit" />
+                </a-form-model-item>
+              </a-col>
+            </a-row>
+            <a-row>
+             <a-col :span="8">
+                <a-form-model-item prop="standardLevel"
+                                   label="鏍囨敞绾у埆">
+                  <a-input :placeholder="disableSubmit?'':'璇疯緭鍏ユ爣鍑嗙骇鍒�'" v-model="model.standardLevel" :disabled="disableSubmit"/>
+                </a-form-model-item>
+              </a-col>
+              <a-col :span="8">
+                <a-form-model-item prop="standardCode" label="鏍囧噯鍙�">
+                  <a-input :placeholder="disableSubmit?'':'璇疯緭鍏ユ爣鍑嗗彿'" v-model="model.standardCode" :disabled="disableSubmit"/>
+                </a-form-model-item>
+              </a-col>
+              <a-col :span="8">
+                <a-form-model-item prop="signCode" label="搴忓彿">
+                  <a-input :placeholder="disableSubmit?'':'璇疯緭鍏ュ簭鍙�'" v-model="model.signCode" :disabled="disableSubmit"/>
+                </a-form-model-item>
+              </a-col>
+        </a-row>
+
+      </a-form-model>
+    </a-spin>
+  </j-modal>
+</template>
+
+<script>
+import { getAction,postAction, httpAction } from '@/api/manage'
+import { validateDuplicateValueInDelFlag } from '@/utils/util'
+import JSelectProduction from '@comp/jeecgbiz/JSelectProduction.vue'
+import { getSystemConfigValue } from '@api/api'
+  import { duplicateCheck } from '@/api/api'//閲嶅鏍¢獙
+
+export default {
+  name: 'ParaBaseModal',
+  components: { JSelectProduction },
+  data() {
+    return {
+      title: '鎿嶄綔',
+      visible: false,
+      //鎺у埗缂栬緫
+      editable: false,
+      //璇︽儏鎺у埗
+      disableSubmit: false,
+      model: {},
+      labelCol: {
+        xs: { span: 24 },
+        sm: { span: 9 }
+      },
+      wrapperCol: {
+        xs: { span: 24 },
+        sm: { span: 14 }
+      },
+      labelColLong: {
+        xs: { span: 24 },
+        sm: { span: 2 }
+      },
+      wrapperColLong: {
+        xs: { span: 24 },
+        sm: { span: 22 }
+      },
+      confirmLoading: false,
+      validatorRules: {
+        toolCode: [
+          { required: true, message: '璇疯緭鍏ュ伐鍏风紪鐮�' },
+          { validator: this.validateNum }
+        ],
+        classifyNum: [
+          { required: true, message: '璇疯緭鍏ュ伐鍏峰垎绫荤紪鐮�' }
+        ],
+        classifyName: [
+          { required: true, message: '璇疯緭鍏ュ伐鍏峰垎绫诲悕绉�' }
+        ],
+        toolModel: [
+          { required: true, message: '璇疯緭鍏ュ瀷鍙�/鍥惧彿' },
+           { validator: this.validateModel }
+        ],
+        chineseName: [
+          { required: true, message: '璇疯緭鍏ヤ腑鏂囧悕绉�' }
+        ],
+        bladeShape: [
+          { required: true, message: '璇疯緭鍏ュ垁鐗囧舰鐘�' }
+        ],
+        bladeLength: [
+          { required: true, message: '璇疯緭鍏ュ垁鐗囬暱搴�' }
+        ],
+        cuttingEdgeCount: [
+          { required: true, message: '璇疯緭鍏ュ垏鍓婂垉鏁�' }
+        ],
+        bladeThickness: [
+          { required: true, message: '璇疯緭鍏ュ垁鐗囧帤搴�' }
+        ],
+        clampingType: [
+          { required: true, message: '璇疯緭鍏ュす鍥哄瀷寮�' }
+        ],
+         noseAngleR: [
+          { required: true, message: '璇疯緭鍏ュ垁灏朢' }
+        ],
+        toolMaterial: [
+          { required: true, message: '璇疯緭鍏ュ垁鐗囨潗鏂�' }
+        ],
+        paintcoatFlag: [
+          { required: true, message: '璇烽�夋嫨鏄惁娑傚眰' }
+        ],
+        technicalConditions: [
+          { required: true, message: '璇疯緭鍏ラ檮鍔犳妧鏈潯浠�' }
+        ]
+      },
+      url: {
+        add: '/tms/baseTools/add',
+        edit: '/tms/baseTools/edit',
+      },
+    }
+  },
+  created() {
+  },
+  methods: {
+    add(nodeSelected) {
+      this.editable = false;
+      //鍒濆鍖栭粯璁ゅ��
+      this.model = {};
+      this.model.classifyId = nodeSelected.key
+      this.model.classifyNum = nodeSelected.entity.classifyId
+      this.model.classifyName = nodeSelected.entity.typeName
+      this.model.paraTypeFlag = nodeSelected.entity.paraTypeFlag
+      this.visible = true
+    },
+    edit(record) {
+      this.editable = true;
+      this.model = Object.assign({}, record)
+      this.visible = true
+    },
+    close() {
+      this.$emit('close')
+      this.visible = false
+      this.$refs.form.clearValidate()
+    },
+    handleOk() {
+      const that = this
+      // 瑙﹀彂琛ㄥ崟楠岃瘉
+      this.$refs.form.validate(valid => {
+        if (valid) {
+          that.confirmLoading = true
+          let formData = Object.assign(this.model)
+          let httpUrl = ''
+            let method = 'post'
+            if (!this.model.id) {
+              httpUrl += this.url.add
+            } else {
+              httpUrl += this.url.edit
+            }
+           httpAction(httpUrl, formData, method)
+            .then((res) => {
+              if (res.success) {
+                that.$message.success(res.message)
+               that.$emit('ok')
+              } else {
+                that.$message.warning(res.message)
+              }
+            })
+            .finally(() => {
+              that.confirmLoading = false
+              that.close()
+            })
+        }
+      })
+    },
+    handleCancel() {
+      this.close()
+    },
+      //楠岃瘉宸ュ叿缂栫爜鏄惁閲嶅
+    validateNum(rule, value, callback) {
+      var params = {
+        tableName: 'tms_base_tools',
+        fieldName: 'tool_code',
+        fieldVal: value,
+        dataId: this.model.id
+      };
+      duplicateCheck(params).then((res) => {
+        if (res.success) {
+          callback()
+        } else {
+          callback("宸ュ叿缂栫爜宸插瓨鍦�!")
+        }
+      })
+    },
+      //楠岃瘉鍨嬪彿/鍥惧彿鏄惁閲嶅
+    validateModel(rule, value, callback) {
+      var params = {
+        tableName: 'tms_base_tools',
+        fieldName: 'tool_model',
+        fieldVal: value,
+        dataId: this.model.id
+      };
+      duplicateCheck(params).then((res) => {
+        if (res.success) {
+          callback()
+        } else {
+          callback("鍨嬪彿/鍥惧彿宸插瓨鍦�!")
+        }
+      })
+    },
+  }
+}
+</script>
+
+<style lang="less" scoped>
+/deep/ .ant-modal-body {
+  padding: 0 24px;
+}
+
+/deep/ .ant-upload {
+  width: 185px;
+  height: 185px;
+}
+
+/deep/ .img {
+  display: flex;
+  justify-content: center;
+
+  .ant-upload-picture-card-wrapper {
+    width: auto;
+  }
+}
+
+/deep/ .ant-upload-list-picture-card-container {
+  width: 185px;
+  height: 185px;
+}
+
+/deep/ .ant-upload-list-item {
+  width: 185px;
+  height: 185px;
+}
+</style>
\ No newline at end of file

--
Gitblit v1.9.3