Sfoglia il codice sorgente

Merge remote-tracking branch 'origin/master' into master

yaoyq 3 anni fa
parent
commit
78295cecee

+ 2 - 2
imcs-ui/src/components/zuihou/fileUpload.vue

@@ -11,7 +11,7 @@
       :headers="headers"
       :limit="limit"
       :multiple="multiple"
-      :on-change="handleChange"
+      :on-change="handleChange"      
       :on-error="handleError"
       :on-exceed="handleExceed"
       :on-preview="handlePreview"
@@ -204,7 +204,7 @@ export default {
       vm.$message.error("附件上传失败,请重试");
       vm.isUploadError = true;
       vm.$store.state.hasLoading = false;
-    },
+    },   
     renderSize(value) {
       if (null == value || value == "") {
         return "0 B";

+ 1 - 1
imcs-ui/src/lang/zh/resource.js

@@ -88,7 +88,7 @@ export default {
 				no: '编号',
 				name: '产线名称',
 				nums: '资源数量',
-				map: '布局图',
+				layoutMap: '布局图',
 				resources: '包含生产资源',
 				mode: '产线模式',  
 				remark: '备注',

+ 2 - 1
imcs-ui/src/views/zuihou/file/attachment/Edit.vue

@@ -53,7 +53,8 @@ export default {
           { min: 0, max: 255, message: this.$t('rules.range0to255'), trigger: 'blur' },
         ],
         bizId: { min: 0, max: 255, message: this.$t('rules.range0to255'), trigger: 'blur' },
-        fileLength: {          required: true, trigger: "change",
+        fileLength: {          
+          required: true, trigger: "change",
           validator: (rule, value, callback) => {
             const vm = this;
             if (vm.fileLength === 0) {

+ 2 - 2
imcs-ui/src/views/zuihou/prepareProductMgr/frockMgr/Index.vue

@@ -12,9 +12,9 @@
           <el-option :key="index" :label="item" :value="key" v-for="(item, key, index) in dicts.METERIAL_BRAND" />
         </el-select>
     	</span>
-    	<span style="margin-left: 15px;">
+    	<span style="margin-left: 15px;" v-show="false">
     		<span>{{$t("prepare.searchForm.model")}}:</span>
-    		<el-input v-model="queryParams.model.specification" :placeholder='$t("common.pleaseEnter")' style="width: 150px;" size="medium"/>
+    		<el-input v-model="queryParams.model.model" :placeholder='$t("common.pleaseEnter")' style="width: 150px;" size="medium"/>
     	</span>
     	<span style="margin-left: 15px;">
     		<span>{{$t("prepare.searchForm.status")}}:</span>

+ 9 - 2
imcs-ui/src/views/zuihou/resourceProductMgr/areaMgr/Index.vue

@@ -9,7 +9,6 @@
     	<span style="margin-left: 15px;">
     		<span>{{$t("resource.searchForm.no")}}:</span>
     		<el-input v-model="queryParams.model.no" :placeholder='$t("common.pleaseEnter")' style="width: 150px;" size="medium"/>
-      	</el-select>
     	</span>
       <span style="margin-left: 15px;">
 	      <el-button plain type="primary" icon="el-icon-search" size="medium" @click="search">
@@ -61,7 +60,15 @@
       <el-table-column prop="no" :label='$t("resource.table.area.no")' :show-overflow-tooltip="true" width="100px"></el-table-column>
       <!-- 产线名称 -->
       <el-table-column prop="name" :label='$t("resource.table.area.name")' :show-overflow-tooltip="true" width="180px"></el-table-column>	 
-      <!-- 资源数量 -->
+      <!-- 布局图 -->
+	  <el-table-column prop="layoutMap" :label='$t("resource.table.area.layoutMap")' align="center" :show-overflow-tooltip="true" width="180px">
+		    <template slot-scope="{ row }">
+	        	<div class="img-wrapper">
+	          		<img :src="row.imgUrl"  />
+	        	</div>
+	       </template>
+	  </el-table-column> 
+	  <!-- 资源数量 -->
       <el-table-column prop="productionResourceCount" :label='$t("resource.table.area.nums")' width="100px"></el-table-column>
       <!-- 包含生产资源 -->
       <el-table-column prop="productionResourceName" :label='$t("resource.table.area.resources")' width="180px"></el-table-column>

+ 66 - 10
imcs-ui/src/views/zuihou/resourceProductMgr/areaMgr/components/Edit.vue

@@ -18,9 +18,12 @@
 				  <el-radio v-model="tenant.status" label="0">{{$t("common.status.invalid")}}</el-radio>
 				</template>
       </el-form-item>
-      <!--<el-form-item :label='$t("resource.table.area.no")+":"' prop="no">
-          <el-input v-model="tenant.no" :placeholder='$t("common.pleaseEnter")'/>
-      </el-form-item>-->
+      <el-form-item :label='$t("resource.table.area.layoutMap")+":"' prop="layoutMap">          
+          <fileUpload :acceptSize="5*1024*1024" :auto-upload="false" :limit="1" @fileLengthVaild="fileLengthVaild" @setId="setIdAndSubmit" ref="fileRef">
+              <el-button size="small" slot="trigger" type="primary">选取文件</el-button>              
+              <div class="el-upload__tip" slot="tip">文件不超过5MB</div>
+          </fileUpload>
+      </el-form-item>
       <el-form-item :label='$t("resource.table.area.remark")+":"' prop="remark">
       	<el-input v-model="tenant.remark" type="textarea" :rows="3" style="width: 100%;"/>
       </el-form-item>
@@ -34,9 +37,13 @@
 <script>
 // 【区域管理】-API
 import areaMgrApi from "@/api/resourceProductMgr/areaMgr"
+import fileUpload from "@/components/zuihou/fileUpload"
+import elDragDialog from '@/directive/el-drag-dialog'
 
 export default {
   name: 'TenantEdit',
+  directives: {elDragDialog, fileUpload},
+  components: { fileUpload },
   props: {
     dialogVisible: {
       type: Boolean,
@@ -50,9 +57,12 @@ export default {
   data () {
     return {
       type: 'add',
-      tenant: this.initTenant(),
+      tenant: this.initTenant(),      
       screenWidth: 0,
       width: this.initWidth(),
+      accept: "image/jpeg, image/gif, image/png",
+      fileLength: 0,
+      fileId: "",
       confirmDisabled: false,
       dicts:{
         NATION: {}
@@ -61,7 +71,21 @@ export default {
       rules: {
         name: [
         	{ required: true, message: this.$t("rules.require"), trigger: 'blur' }
-        ]
+        ],
+        fileLength: {          
+          required: true,
+          trigger: "change",
+          validator: (rule, value, callback) => {
+            const vm = this;
+            if (vm.fileLength === 0) {
+              callback(new Error("请上传文件"))
+            } else if (vm.fileLength > 1) {
+              callback(new Error("一次性只能上传1个文件"))
+            } else {
+              callback()
+            }
+          }
+        }
       }
     }
   },
@@ -101,6 +125,11 @@ export default {
         return '800px'
       }
     },
+    // 附件长度校验
+    fileLengthVaild (data) {
+      const vm = this;
+      vm.fileLength = data || 0;
+    },
     setTenant (val, dicts) {
     	if(val){
     		this.tenant = { ...val }
@@ -116,16 +145,43 @@ export default {
       this.$refs.form.clearValidate()
       this.$refs.form.resetFields()
       this.tenant = this.initTenant()
+      this.$refs.fileRef.init({
+        id: "",
+        bizId: "",
+        bizType: "",
+      })
+    },
+    setIdAndSubmit (isUploadCompleted, res) {
+      const vm = this
+      console.log(res)
+      if (isUploadCompleted) {
+        vm.disabled = false
+        vm.isVisible = false
+        vm.$message({
+          message: vm.$t('tips.createSuccess'),
+          type: 'success'
+        })        
+        vm.$emit('success')
+        this.tenant.layoutMap = res.data.id
+        // 后续提交处理
+        if (this.type === 'add') {
+            this.save()
+        } else {
+            this.update()
+        } 
+      }      
+    },
+    editSubmit () {
+      const vm = this
+      vm.disabled = true
+      let id =  this.tenant.layoutMap!=null? this.tenant.layoutMap: ""
+      vm.$refs.fileRef.submitFile(id, this.tenant.id, 'TRAY')
     },
     submitForm () {
       this.$refs.form.validate((valid) => {
         if (valid) {
           this.confirmDisabled = true
-          if (this.type === 'add') {
-            this.save()
-          } else {
-            this.update()
-          }
+          this.editSubmit()
         } else {
           return false
         }