chencc 1 an în urmă
părinte
comite
fcf3f3cba8

+ 4 - 1
src/views/material/product/detail.vue

@@ -39,7 +39,7 @@
           </el-col>
           <el-col :span="8">
             <div>
-              <el-form-item label="属性类型" prop="produceType">
+              <el-form-item label="属性类型" prop="componentAttribute">
                 <el-select style="width: 100%" v-model="form.componentAttribute" filterable multiple>
                   <el-option v-for="item in lbjtList" :key="item.value" :value="item.value"
                     :label="item.label"></el-option>
@@ -431,6 +431,9 @@ export default {
         produceType: [
           { required: true, message: '请选择生产类型', trigger: 'change' }
         ],
+        componentAttribute:[
+         { required: true, message: '请选择生产类型', trigger: 'change' }
+        ],
         attributeType: [
           { required: true, message: '请选择属性类型', trigger: 'change' }
         ],

+ 13 - 5
src/views/technology/production/components/user-edit.vue

@@ -6,8 +6,11 @@
     <el-form ref="form" :model="form" :rules="rules" label-width="120px">
       <el-row>
         <el-col :span="8">
-          <el-form-item label="工序编码:" prop="code">
-            <el-input clearable :disabled="isUpdate" v-model="form.code" placeholder="请输入" />
+          <el-form-item label="工序编码:" v-if="clientEnvironmentId == 9">
+            <el-input  disabled v-model="form.code" clearable placeholder="请输入"></el-input>
+          </el-form-item>
+          <el-form-item label="工序编码:" v-else prop="code">
+            <el-input :disabled="isUpdate" v-model="form.code" clearable placeholder="请输入" />
           </el-form-item>
         </el-col>
 
@@ -46,7 +49,11 @@
             <el-input v-model="form.sort" />
           </el-form-item>
         </el-col>
-
+        <el-col :span="8">
+          <el-form-item label="附件上传:" prop="sort">
+            <fileUpload v-model="form.data"></fileUpload>
+          </el-form-item>
+        </el-col>
 
       </el-row>
 
@@ -315,10 +322,11 @@
 <script>
 import producetask from '@/api/technology/production';
 import WorkCenter from './WorkCenter.vue';
-
+import fileUpload from '@/components/addDoc/fileUpload.vue'
 export default {
   components: {
-    WorkCenter
+    WorkCenter,
+    fileUpload
   },
   props: {
     // 弹窗是否打开

+ 5 - 5
src/views/technology/route/components/user-edit.vue

@@ -15,7 +15,7 @@
     <el-form ref="form" :model="form" :rules="rules" label-width="140px">
       <el-row>
         <el-col :span="8">
-          <el-form-item label="工艺路线编码:" prop="code">
+          <el-form-item label="工艺路线编码:" >
             <el-input
               clearable
               disabled
@@ -26,7 +26,7 @@
         </el-col>
 
         <el-col :span="8">
-          <el-form-item label="工艺路线名称:" prop="name">
+          <el-form-item label="工艺路线名称:" prop="name">
             <el-input
               v-model="form.name"
               :disabled="isUpdate"
@@ -340,9 +340,9 @@
             });
             this.isUpdate = true;
           } else {
-            const res = await route.getCode();
-            this.form.code = res;
-            this.isUpdate = false;
+            // const res = await route.getCode();
+            // this.form.code = res;
+            // this.isUpdate = false;
           }
 
           this.$nextTick(() => {

+ 196 - 291
src/views/technology/stepManagement/components/user-edit.vue

@@ -1,40 +1,26 @@
 <!-- 用户编辑弹窗 -->
 <template>
-  <ele-modal
-    width="960px"
-    :visible="visible"
-    :append-to-body="true"
-    :close-on-click-modal="false"
-    custom-class="ele-dialog-form"
-    :title="isView ? '查看工步' : isUpdate ? '修改工步' : '添加工步'"
-    @update:visible="updateVisible"
-    :maxable="true"
-  >
+  <ele-modal width="960px" :visible="visible" :append-to-body="true" :close-on-click-modal="false"
+    custom-class="ele-dialog-form" :title="isView ? '查看工步' : isUpdate ? '修改工步' : '添加工步'" @update:visible="updateVisible"
+    :maxable="true">
     <header-title title="基本信息"></header-title>
     <el-form ref="form" :model="form" :rules="rules" label-width="140px">
       <el-row>
         <el-col :span="8">
           <el-form-item label="类型:" prop="type">
             <el-select :disabled="isView" v-model="form.type" filterable>
-              <el-option
-                :label="item.label"
-                :value="item.value"
-                v-for="(item, index) in typeList"
-                :key="index"
-              >
+              <el-option :label="item.label" :value="item.value" v-for="(item, index) in typeList" :key="index">
               </el-option>
             </el-select>
           </el-form-item>
         </el-col>
 
         <el-col :span="8">
-          <el-form-item label="编码:" prop="code">
-            <el-input
-              :disabled="isView"
-              v-model="form.code"
-              clearable
-              placeholder="请输入"
-            />
+          <el-form-item label="编码:" v-if="clientEnvironmentId == 9">
+            <el-input  disabled v-model="form.code" clearable placeholder="请输入"></el-input>
+          </el-form-item>
+          <el-form-item label="编码:" v-else prop="code">
+            <el-input :disabled="isView" v-model="form.code" clearable placeholder="请输入" />
           </el-form-item>
         </el-col>
         <el-col :span="8">
@@ -48,6 +34,12 @@
             <el-input :disabled="isView" v-model="form.sort" />
           </el-form-item>
         </el-col>
+
+        <el-col :span="8">
+          <el-form-item label="附件上传:" prop="sort">
+            <fileUpload v-model="form.data"></fileUpload>
+          </el-form-item>
+        </el-col>
       </el-row>
 
       <header-title title="工步节拍时间"></header-title>
@@ -57,47 +49,25 @@
           <el-form-item label="节拍生产数量" prop="beatProduceNum">
             <el-row>
               <el-col :span="16">
-                <el-input
-                  :disabled="isView"
-                  placeholder="请输入"
-                  v-model.number="form.workBeat.beatProduceNum"
-                >
-                </el-input
-              ></el-col>
+                <el-input :disabled="isView" placeholder="请输入" v-model.number="form.workBeat.beatProduceNum">
+                </el-input></el-col>
               <el-col :span="1">&nbsp;</el-col>
               <el-col :span="7">
-                <DictSelection
-                  :isProhibit="isView"
-                  dictName="计量单位"
-                  v-model="form.workBeat.beatProduceUnit"
-                />
+                <DictSelection :isProhibit="isView" dictName="计量单位" v-model="form.workBeat.beatProduceUnit" />
               </el-col>
             </el-row>
           </el-form-item>
         </el-col>
 
         <el-col :span="24">
-          <el-form-item
-            label="对应物料数量"
-            label-width="140px"
-            prop="categoryNum"
-          >
+          <el-form-item label="对应物料数量" label-width="140px" prop="categoryNum">
             <el-row>
               <el-col :span="16">
-                <el-input
-                  :disabled="isView"
-                  placeholder="请输入"
-                  v-model.number="form.workBeat.categoryNum"
-                >
-                </el-input
-              ></el-col>
+                <el-input :disabled="isView" placeholder="请输入" v-model.number="form.workBeat.categoryNum">
+                </el-input></el-col>
               <el-col :span="1">&nbsp;</el-col>
               <el-col :span="7">
-                <DictSelection
-                  :isProhibit="isView"
-                  dictName="计量单位"
-                  v-model="form.workBeat.categoryUnit"
-                />
+                <DictSelection :isProhibit="isView" dictName="计量单位" v-model="form.workBeat.categoryUnit" />
               </el-col>
             </el-row>
           </el-form-item>
@@ -105,40 +75,23 @@
 
         <el-col :span="8">
           <el-form-item label="工步休息时长:">
-            <el-input
-              :disabled="isView"
-              v-model="form.workBeat.restTimes"
-              placeholder="请输入"
-            />
+            <el-input :disabled="isView" v-model="form.workBeat.restTimes" placeholder="请输入" />
           </el-form-item>
         </el-col>
 
         <el-col :span="8">
           <el-form-item label="工步准备时长:">
-            <el-input
-              :disabled="isView"
-              v-model="form.workBeat.preTimes"
-              clearable
-              placeholder="请输入"
-            />
+            <el-input :disabled="isView" v-model="form.workBeat.preTimes" clearable placeholder="请输入" />
           </el-form-item>
         </el-col>
         <el-col :span="8">
           <el-form-item label="设备生产时长:">
-            <el-input
-              :disabled="isView"
-              v-model="form.workBeat.proTimes"
-              placeholder="请输入"
-            />
+            <el-input :disabled="isView" v-model="form.workBeat.proTimes" placeholder="请输入" />
           </el-form-item>
         </el-col>
         <el-col :span="8">
           <el-form-item label="其他时长:">
-            <el-input
-              :disabled="isView"
-              placeholder="请输入"
-              v-model="form.workBeat.otherTimes"
-            />
+            <el-input :disabled="isView" placeholder="请输入" v-model="form.workBeat.otherTimes" />
           </el-form-item>
         </el-col>
         <el-col :span="8">
@@ -148,14 +101,9 @@
         </el-col>
 
         <el-col :span="8">
-          <el-form-item label="节拍时间单位:" prop="workBeat.beatTimesUnit">
+          <el-form-item label="节拍时间单位:">
             <el-select :disabled="isView" v-model="form.workBeat.beatTimesUnit">
-              <el-option
-                v-for="item in timeType2"
-                :key="item.code"
-                :label="item.label"
-                :value="item.code"
-              >
+              <el-option v-for="item in timeType2" :key="item.code" :label="item.label" :value="item.code">
               </el-option>
             </el-select>
           </el-form-item>
@@ -167,40 +115,17 @@
       <el-row>
         <el-col :span="12">
           <el-form-item label="间隔策略:" label-width="200px">
-            <el-select
-              :disabled="isView"
-              style="width: 100%"
-              v-model="form.intervalTime.tactics"
-              filterable
-            >
-              <el-option
-                v-for="item in tacticsType"
-                :key="item.code"
-                :label="item.label"
-                :value="item.code"
-              >
+            <el-select :disabled="isView" style="width: 100%" v-model="form.intervalTime.tactics" filterable>
+              <el-option v-for="item in tacticsType" :key="item.code" :label="item.label" :value="item.code">
               </el-option>
             </el-select>
           </el-form-item>
         </el-col>
 
         <el-col :span="12">
-          <el-form-item
-            label="间隔时间单位:"
-            prop="timeUnit"
-            label-width="200px"
-          >
-            <el-select
-              :disabled="isView"
-              style="width: 100%"
-              v-model="form.timeUnit"
-            >
-              <el-option
-                v-for="item in timeType"
-                :key="item.code"
-                :label="item.label"
-                :value="item.code"
-              >
+          <el-form-item label="间隔时间单位:" label-width="200px">
+            <el-select :disabled="isView" style="width: 100%" v-model="form.timeUnit">
+              <el-option v-for="item in timeType" :key="item.code" :label="item.label" :value="item.code">
               </el-option>
             </el-select>
           </el-form-item>
@@ -208,56 +133,32 @@
 
         <el-col :span="12">
           <el-form-item label="下工步标准准备时间:" label-width="200px">
-            <el-input
-              :disabled="isView"
-              v-model="form.intervalTime.nextStandardPreTime"
-              placeholder="请输入"
-            />
+            <el-input :disabled="isView" v-model="form.intervalTime.nextStandardPreTime" placeholder="请输入" />
           </el-form-item>
         </el-col>
         <el-col :span="12">
           <el-form-item label="下工步最短准备时间:" label-width="200px">
-            <el-input
-              :disabled="isView"
-              v-model="form.intervalTime.nextShortPreTime"
-              placeholder="请输入"
-            />
+            <el-input :disabled="isView" v-model="form.intervalTime.nextShortPreTime" placeholder="请输入" />
           </el-form-item>
         </el-col>
         <el-col :span="12">
           <el-form-item label="本工步标准等待时间:" label-width="200px">
-            <el-input
-              :disabled="isView"
-              v-model="form.intervalTime.thisStandardWaitTime"
-              placeholder="请输入"
-            />
+            <el-input :disabled="isView" v-model="form.intervalTime.thisStandardWaitTime" placeholder="请输入" />
           </el-form-item>
         </el-col>
         <el-col :span="12">
           <el-form-item label="本工步最短准备时间:" label-width="200px">
-            <el-input
-              :disabled="isView"
-              v-model="form.intervalTime.thisShortPreTime"
-              placeholder="请输入"
-            />
+            <el-input :disabled="isView" v-model="form.intervalTime.thisShortPreTime" placeholder="请输入" />
           </el-form-item>
         </el-col>
         <el-col :span="12">
           <el-form-item label="本工步结束后标准周转时间:" label-width="200px">
-            <el-input
-              :disabled="isView"
-              v-model="form.intervalTime.thisStandardBoatTime"
-              placeholder="请输入"
-            />
+            <el-input :disabled="isView" v-model="form.intervalTime.thisStandardBoatTime" placeholder="请输入" />
           </el-form-item>
         </el-col>
         <el-col :span="12">
           <el-form-item label="本工步结束后周转最短时间:" label-width="200px">
-            <el-input
-              :disabled="isView"
-              v-model="form.intervalTime.thisShortBoatTime"
-              placeholder="请输入"
-            />
+            <el-input :disabled="isView" v-model="form.intervalTime.thisShortBoatTime" placeholder="请输入" />
           </el-form-item>
         </el-col>
       </el-row>
@@ -276,176 +177,180 @@
 </template>
 
 <script>
-  import stepManagement from '@/api/technology/stepManagement';
-  import WorkCenter from './WorkCenter.vue';
-
-  export default {
-    components: {
-      WorkCenter
-    },
-    props: {
-      // 弹窗是否打开
-      visible: Boolean,
-      // 修改回显的数据
-      data: Object,
-      isView: Boolean,
-      controlList: Array,
-      typeList: Array
-    },
-    data() {
-      const defaultForm = function () {
-        return {
-          id: null,
-          code: '',
-          name: '',
-          type: 1,
-          workCenterId: '',
-          workCenterName: '',
-          timeUnit: '',
-          sort: null,
-          intervalTime: {
-            nextShortPreTime: '', // 时间单位转换后的下一个短周期的时间,格式为YYYY-MM-DDTHH'
-            nextStandardPreTime: '', // 时间单位转换后的下一个正式的周期的时间,格式为YYYY-MM-DD'
-            tactics: 1, // 周期工艺描述,格式为JSON字符串或数组形式的对象形式的数据类
-            thisShortBoatTime: '',
-            thisShortPreTime: '',
-            thisStandardBoatTime: '',
-            thisStandardWaitTime: ''
-          },
+import stepManagement from '@/api/technology/stepManagement';
+import WorkCenter from './WorkCenter.vue';
+import fileUpload from '@/components/addDoc/fileUpload.vue'
+export default {
+  components: {
+    WorkCenter,
+    fileUpload
+  },
+  props: {
+    // 弹窗是否打开
+    visible: Boolean,
+    // 修改回显的数据
+    data: Object,
+    isView: Boolean,
+    controlList: Array,
+    typeList: Array
+  },
+  data() {
+    const defaultForm = function () {
+      return {
+        id: null,
+        code: '',
+        name: '',
+        type: 1,
+        workCenterId: '',
+        workCenterName: '',
+        timeUnit: '',
+        sort: null,
+        intervalTime: {
+          nextShortPreTime: '', // 时间单位转换后的下一个短周期的时间,格式为YYYY-MM-DDTHH'
+          nextStandardPreTime: '', // 时间单位转换后的下一个正式的周期的时间,格式为YYYY-MM-DD'
+          tactics: 1, // 周期工艺描述,格式为JSON字符串或数组形式的对象形式的数据类
+          thisShortBoatTime: '',
+          thisShortPreTime: '',
+          thisStandardBoatTime: '',
+          thisStandardWaitTime: ''
+        },
 
-          workBeat: {
-            beatProduceNum: '',
-            beatProduceUnit: '',
-            categoryNum: '',
-            categoryUnit: '',
-            beatTimes: '',
-            otherTimes: '',
-            preTimes: '',
-            proTimes: '',
-            restTimes: '',
-            beatTimesUnit: ''
-          }
-        };
+        workBeat: {
+          beatProduceNum: '',
+          beatProduceUnit: '',
+          categoryNum: '',
+          categoryUnit: '',
+          beatTimes: '',
+          otherTimes: '',
+          preTimes: '',
+          proTimes: '',
+          restTimes: '',
+          beatTimesUnit: ''
+        }
       };
-      return {
-        defaultForm,
-        // 表单数据
-        form: defaultForm(),
+    };
+    return {
+      defaultForm,
+      // 表单数据
+      form: defaultForm(),
 
-        timeType: [
-          { code: 1, label: '分' },
-          { code: 2, label: '时' }
-        ],
+      timeType: [
+        { code: 1, label: '分' },
+        { code: 2, label: '时' }
+      ],
 
-        timeType2: [
-          { code: '1', label: '分' },
-          { code: '2', label: '时' }
-        ],
+      timeType2: [
+        { code: '1', label: '分' },
+        { code: '2', label: '时' }
+      ],
 
-        tacticsType: [
-          { code: 1, label: '标准时间' },
-          { code: 2, label: '最短时间' }
-        ],
+      tacticsType: [
+        { code: 1, label: '标准时间' },
+        { code: 2, label: '最短时间' }
+      ],
 
-        // 表单验证规则
-        rules: {
-          name: [
-            { required: true, message: '请输入工步名称', trigger: 'blur' }
-          ],
-          code: [{ required: true, trigger: 'change', message: '工序编码' }],
-          'workBeat.beatTimesUnit': [
-            { required: true, message: '请选择时间单位', trigger: 'change' }
-          ],
-          timeUnit: [
-            { required: true, message: '请选择间隔时间单位', trigger: 'change' }
-          ]
-        },
-        // 提交状态
-        loading: false,
-        // 是否是修改
-        isUpdate: false,
-        chooseItem: null
-      };
-    },
-    computed: {
-      totalTime() {
-        let to =
-          (-this.form.workBeat.restTimes +
-            -this.form.workBeat.preTimes +
-            -this.form.workBeat.proTimes +
-            -this.form.workBeat.otherTimes) *
-          -1;
-        return to;
+      // 表单验证规则
+      rules: {
+        name: [
+          { required: true, message: '请输入工步名称', trigger: 'blur' }
+        ],
+        code: [{ required: true, trigger: 'change', message: '工序编码' }],
+        'workBeat.beatTimesUnit': [
+          { required: true, message: '请选择时间单位', trigger: 'change' }
+        ],
+        timeUnit: [
+          { required: true, message: '请选择间隔时间单位', trigger: 'change' }
+        ]
       },
+      // 提交状态
+      loading: false,
+      // 是否是修改
+      isUpdate: false,
+      chooseItem: null
+    };
+  },
+  computed: {
+    totalTime() {
+      let to =
+        (-this.form.workBeat.restTimes +
+          -this.form.workBeat.preTimes +
+          -this.form.workBeat.proTimes +
+          -this.form.workBeat.otherTimes) *
+        -1;
+      return to;
+    },
+    clientEnvironmentId() {
+      return this.$store.state.user.info.clientEnvironmentId;
+    },
       // 是否开启响应式布局
       styleResponsive() {
-        return this.$store.state.theme.styleResponsive;
-      }
+      return this.$store.state.theme.styleResponsive;
+    }
+  },
+  methods: {
+    chooseWorkCenter() {
+      this.$refs.centerRefs.open(this.form);
     },
-    methods: {
-      chooseWorkCenter() {
-        this.$refs.centerRefs.open(this.form);
-      },
-      determineChoose(row) {
-        this.$set(this.form, 'workCenterName', row.name);
-        this.$set(this.form, 'workCenterId', row.id);
-      },
-      /* 保存编辑 */
-      save() {
-        this.$refs.form.validate((valid) => {
-          if (!valid) {
-            return false;
-          }
-          if (!this.isUpdate) {
-            delete this.form.id;
-          }
+    determineChoose(row) {
+      this.$set(this.form, 'workCenterName', row.name);
+      this.$set(this.form, 'workCenterId', row.id);
+    },
+    /* 保存编辑 */
+    save() {
+      this.$refs.form.validate((valid) => {
+        if (!valid) {
+          return false;
+        }
+        if (!this.isUpdate) {
+          delete this.form.id;
+        }
 
-          this.form.workBeat.beatTimes = this.totalTime;
+        this.form.workBeat.beatTimes = this.totalTime;
 
-          this.loading = true;
-          stepManagement
-            .save(this.form)
-            .then((msg) => {
-              this.loading = false;
-              this.$message.success(
-                (this.isUpdate ? '修改' : '新建') + msg.message
-              );
-              this.updateVisible(false);
-              this.$emit('done');
-            })
-            .catch((e) => {
-              this.loading = false;
-              // this.$message.error(e.message);
-            });
-        });
-      },
-      /* 更新visible */
-      updateVisible(value) {
-        this.form = { ...this.defaultForm() };
-        this.$emit('update:visible', value);
-      }
+        this.loading = true;
+        stepManagement
+          .save(this.form)
+          .then((msg) => {
+            this.loading = false;
+            this.$message.success(
+              (this.isUpdate ? '修改' : '新建') + msg.message
+            );
+            this.updateVisible(false);
+            this.$emit('done');
+          })
+          .catch((e) => {
+            this.loading = false;
+            // this.$message.error(e.message);
+          });
+      });
     },
+    /* 更新visible */
+    updateVisible(value) {
+      this.form = { ...this.defaultForm() };
+      this.$emit('update:visible', value);
+    }
+  },
 
-    watch: {
-      async visible(visible) {
-        if (visible) {
-          if (this.data) {
-            const res = await stepManagement.getById(this.data.id);
-            console.log('res----------------');
-            console.log(res);
-            this.$util.assignObject(this.form, {
-              ...res
-            });
-            this.isUpdate = true;
-          } else {
-            this.form = { ...this.defaultForm() };
-            this.isUpdate = false;
-          }
+  watch: {
+    async visible(visible) {
+      if (visible) {
+        if (this.data) {
+          const res = await stepManagement.getById(this.data.id);
+          console.log('res----------------');
+          console.log(res);
+          this.$util.assignObject(this.form, {
+            ...res
+          });
+          this.isUpdate = true;
         } else {
-          this.$refs.form.clearValidate();
           this.form = { ...this.defaultForm() };
+          this.isUpdate = false;
         }
+      } else {
+        this.$refs.form.clearValidate();
+        this.form = { ...this.defaultForm() };
       }
     }
-  };
+  }
+};
 </script>

+ 1 - 1
vue.config.js

@@ -36,7 +36,7 @@ module.exports = {
     proxy: {
       // 当我们的本地的请求 有/api的时候,就会代理我们的请求地址向另外一个服务器发出请求
       '/api': {
-        target: 'http://192.168.1.25:18086',
+        target: 'http://192.168.1.125:18086',
         // target: 'http://192.168.1.158:18086',
         // target: 'http://192.168.1.176:18086',
         // target: 'http://192.168.1.251:18086',