소스 검색

新增生产地产出物,商品管理放开其他参数

gcz 4 년 전
부모
커밋
776ea99afc

+ 1 - 1
config/dev.env.js

@@ -6,7 +6,7 @@ module.exports = merge(prodEnv, {
   NODE_ENV: '"development"',
   // BASE_API: '"http://172.16.90.3:9098/forest-admin"'//邱波电脑
   // BASE_API: '"http://172.16.90.64:9098/forest-admin"'
-  BASE_API: '"http://172.16.90.50:9098/forest-admin"'//邱波
+  BASE_API: '"http://172.16.90.102:9098/forest-admin"'//邱波
   // BASE_API: '"http://172.16.90.8:9098/forest-admin"'//东东
   // BASE_API: '"http://172.16.90.43:9098/forest-admin"'//东东
 })

+ 1 - 1
src/api/origin.js

@@ -56,7 +56,7 @@ export function createOriginProduct(data) {
 
 export function deleteOriginProduct(id) {
   return request({
-    url:'/originProduct/delete?'+id,
+    url:'/originProduct/delete?id='+id,
     method:'get',
   })
 }

+ 1 - 1
src/store/modules/user.js

@@ -45,7 +45,7 @@ const user = {
     GetInfo({ commit, state }) {
       return new Promise((resolve, reject) => {
         getInfo().then(response => {
-          console.log('用户信息',response.data);
+          // console.log('用户信息',response.data);
           localStorage.setItem("permissionList", response.data.resource);
           const data = response.data
           if (data.roles && data.roles.length > 0) { // 验证返回的roles是否是一个非空数组

+ 1 - 1
src/views/layout/components/Sidebar/index.vue

@@ -27,7 +27,7 @@ export default {
       'routers'
     ]),
     routes() {
-      console.log('this.routers',JSON.parse(JSON.stringify(this.routers)))
+      // console.log('this.routers',JSON.parse(JSON.stringify(this.routers)))
       // return this.$router.options.routes
       return this.routers
     },

+ 138 - 39
src/views/pms/origin/components/originDetail.vue

@@ -20,9 +20,9 @@
       <el-form-item label="生产地名称" prop="originName">
         <el-input v-model="origin.originName"></el-input>
       </el-form-item>
-      <el-form-item label="生产地面积(亩)">
+      <!-- <el-form-item label="生产地面积(亩)">
         <el-input v-model="origin.originArea"></el-input>
-      </el-form-item>
+      </el-form-item> -->
       <el-form-item label="生产地图片">
         <multi-upload v-model="selectOriginPics"></multi-upload>
       </el-form-item>
@@ -55,11 +55,11 @@
           v-model="origin.summary"
           :autosize="true"></el-input>
       </el-form-item>
-      <!-- <el-form-item label="产出物">
-        <div style="text-align: right;"><el-button size="mini" class="btn-add" @click="handleAddOriginProduct()">添加</el-button></div>
+      <el-form-item label="产出物">
+        <div style="text-align: right;"><el-button size="mini" class="btn-add" @click="handleAddOriginProduct()">添加产出物</el-button></div>
         <div class="table-container">
           <el-table ref="roleTable"
-                :data="originProductList"
+                :data="origin.productlist"
                 style="width: 100%;"
                 v-loading="originProductListLoading" border>
               <el-table-column label="产出物名称" width="100px" show-overflow-tooltip align="center">
@@ -68,6 +68,12 @@
               <el-table-column label="面积(亩)"  show-overflow-tooltip align="center">
                 <template slot-scope="scope">{{scope.row.plantArea}}</template>
               </el-table-column>
+              <el-table-column label="产出物总产量(吨)" show-overflow-tooltip align="center">
+                <template slot-scope="scope">{{scope.row.outputNum}}</template>
+              </el-table-column>
+              <el-table-column label="产出物亩产值(万元)" show-overflow-tooltip align="center">
+                <template slot-scope="scope">{{scope.row.outputValue}}</template>
+              </el-table-column>
               <el-table-column label="可用状态"  show-overflow-tooltip align="center">
                 <template slot-scope="scope">
                   <span v-if="scope.row.state ==0">可用</span>
@@ -92,24 +98,24 @@
               </el-table-column>
           </el-table>
         </div>
-      </el-form-item> -->
-      <el-form-item label="产出物种植面积(亩)">
-        <el-input v-model="origin.originArea"></el-input>
       </el-form-item>
-      <el-form-item label="产出物总产量(吨)">
+      <!-- <el-form-item label="产出物种植面积(亩)">
+        <el-input v-model="origin.originArea"></el-input>
+      </el-form-item> -->
+      <!-- <el-form-item label="产出物总产量(吨)">
         <el-input v-model="origin.compManageLicenseNum"></el-input>
-      </el-form-item>
-      <el-form-item label="产出物亩产值(万元)">
+      </el-form-item> -->
+      <!-- <el-form-item label="产出物亩产值(万元)">
         <el-input v-model="origin.compSocialCode"></el-input>
-      </el-form-item>
+      </el-form-item> -->
       <el-form-item label="所在省">
-        <el-input v-model="origin.provinceId"></el-input>
+        <el-input v-model="origin.provinceName"></el-input>
       </el-form-item>
       <el-form-item label="所在市">
-        <el-input v-model="origin.cityId"></el-input>
+        <el-input v-model="origin.cityName"></el-input>
       </el-form-item>
       <el-form-item label="所在县">
-        <el-input v-model="origin.countyId"></el-input>
+        <el-input v-model="origin.countyName"></el-input>
       </el-form-item>
       <el-form-item label="详细地址">
         <el-input v-model="origin.detailAddress"></el-input>
@@ -140,6 +146,42 @@
         <el-button v-if="!isEdit" @click="resetForm('originFrom')">重置</el-button>
       </el-form-item>
     </el-form>
+    <el-dialog
+      :title="productDialogTitle"
+      :visible.sync="productDialogVisible"
+      width="40%">
+      <el-form ref="originProductForm" :model="originProductlist" :rules="rules" label-width="120px">
+        <el-form-item label="产出物名称" prop="productName">
+          <el-input v-model="originProductlist.productName" auto-complete="off"></el-input>
+        </el-form-item>
+        <el-form-item label="产出物总产量(吨)" prop="outputNum">
+          <el-input v-model="originProductlist.outputNum" auto-complete="off"></el-input>
+        </el-form-item>
+        <el-form-item label="产出物亩产值(万元)" prop="outputValue">
+          <el-input v-model="originProductlist.outputValue" auto-complete="off"></el-input>
+        </el-form-item>
+        <el-form-item label="产出物种植面积(亩)" prop="plantArea">
+          <el-input v-model="originProductlist.plantArea" auto-complete="off"></el-input>
+        </el-form-item>
+        <el-form-item label="是否可用">
+          <el-select v-model="originProductlist.state" placeholder="0:可用,1:禁用,2:删除">
+            <el-option
+              v-for="item in originProductlistState"
+              :key="item.label"
+              :label="item.label"
+              :value="item.value">
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="备注">
+          <el-input v-model="originProductlist.remark" auto-complete="off"></el-input>
+        </el-form-item>
+      </el-form>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="productDialogVisible = false;originProductlist = {};">取 消</el-button>
+        <el-button type="primary" @click="handleConfirm('originProductForm')">确 定</el-button>
+      </span>
+    </el-dialog>
   </el-card>
 </template>
 <script>
@@ -202,13 +244,21 @@
     data() {
       return {
         origin:Object.assign({}, defaultorigin),
+        productDialogTitle:'',
+        productDialogVisible:false,
+        originProductlist:{},
+        originProductlistState:[
+          {value: 0,label: '可用'},
+          {value: 1,label: '禁用'},
+          {value: 2,label: '删除'},
+        ],
         supplierOptList: [],
         rules: {
           selectOriginPics:[
             {required: true, message: '请上传生产地图片', trigger: 'blur'}
           ],
           originName: [
-            {required: true, message: '请输入品牌名称', trigger: 'blur'},
+            {required: true, message: '请输入生产地名称', trigger: 'blur'},
             {min: 2, max: 140, message: '长度在 2 到 140 个字符', trigger: 'blur'}
           ],
           logo: [
@@ -223,7 +273,11 @@
           latitude  : [
             {required: true, message: '请选择经纬度', trigger: 'blur'}
           ],
-          compId: [{required: true, message: '请选择供应商', trigger: 'blur'}]
+          compId: [{required: true, message: '请选择供应商', trigger: 'blur'}],
+          productName: [{required: true, message: '请输入名称', trigger: 'blur'}],
+          outputNum: [{required: true, message: '请输入产出物总产量', trigger: 'blur'}],
+          outputValue: [{required: true, message: '请输入产出物亩产值', trigger: 'blur'}],
+          plantArea: [{required: true, message: '请输入产出物种植面积', trigger: 'blur'}],
         },
         originProductList:[],
         originProductListLoading:false,
@@ -278,41 +332,63 @@
     created() {
       this.getSupplierOptList();
       if (this.isEdit) {
-        getOrigin(this.$route.query.id).then(response => {
-          this.origin = response.data;
-          console.log('this.origin',JSON.parse(JSON.stringify(this.origin)));
-        });
+        this.getData();
       }else{
         this.origin = Object.assign({},defaultorigin);
       };
-      this.getoriginProductList();
-
     },
     methods: {
-      //产出物列表
-      getoriginProductList(){
-        this.originProductListLoading = true;
-        fetchOriginProductList({"pageNum": 1,"pageSize": 100,"fkOriginId":300}).then(response => {
-          this.originProductListLoading = false;
-          console.log('originProductList',JSON.parse(JSON.stringify(response)));
-          this.originProductList = response.data.list;
-
-        }).catch(err => {
-          this.originProductListLoading = false;
-        });
-      },
       /** 获取供应商下拉列表 */
       getSupplierOptList() {
         selectCompList().then(response => {
           this.supplierOptList = response.data;
         });
       },
+      handleConfirm(formName){
+        this.$refs[formName].validate((valid) => {
+          console.log('valid',valid);
+          if (valid) {
+            this.originProductlist.fkOriginId = parseInt( this.$route.query.id);
+            if(this.productDialogTitle==="添加产出物"){
+              createOriginProduct(this.originProductlist).then(response=>{
+                this.$message({
+                  message: '添加成功',
+                  type: 'success',
+                  duration:1000
+                });
+                this.productDialogVisible = false;
+                this.originProductlist = {};
+                this.getData();
+              });
+            }else{
+              updateOriginProduct(this.originProductlist.id,this.originProductlist).then(response=>{
+                this.$message({
+                  message: '修改成功',
+                  type: 'success',
+                  duration:1000
+                });
+                this.productDialogVisible = false;
+                this.originProductlist = {};
+                this.getData();
+              });
+            }
+          } else {
+            console.log('error submit!!');
+            return false;
+          }
+        });        
+      },
       // 新增产出物
       handleAddOriginProduct(){
+        this.productDialogTitle = "添加产出物";
+        this.productDialogVisible = true;
         console.log('新增产出物');
       },
       // 修改产出物
       handleUpdateOriginProduct(index,data){
+        this.productDialogTitle = "编辑产出物";
+        this.productDialogVisible = true;
+        this.originProductlist = data;
         console.log('修改产出物inex',index);
         console.log('修改产出物data',data);
       },
@@ -320,6 +396,28 @@
       handleDeleteOriginProduct(index,data){
         console.log('删除产出物inex',index);
         console.log('删除产出物data',data);
+
+        this.$confirm('是否要删除该产出物', '提示', {
+          confirmButtonText: '确定',
+          cancelButtonText: '取消',
+          type: 'warning'
+        }).then(() => {
+          deleteOriginProduct(data.id).then(response=>{
+            this.$message({
+              message: '删除成功',
+              type: 'success',
+              duration:1000
+            });
+            this.getData();
+          });
+        });
+
+      },
+      getData(){
+        getOrigin(this.$route.query.id).then(response => {
+          this.origin = response.data;
+          console.log('this.origin',JSON.parse(JSON.stringify(this.origin)));
+        });
       },
       onSubmit(formName) {
         // console.log('this.origin',JSON.parse(JSON.stringify(this.origin)))
@@ -414,10 +512,10 @@
         let _this = this;
         gc.getLocation(point, function (rs) {
           var addComp = rs.addressComponents;
-          // console.log(rs);//地址信息
-          _this.origin.provinceId = rs.addressComponents.province;
-          _this.origin.cityId = rs.addressComponents.city;
-          _this.origin.countyId = rs.addressComponents.district;
+          console.log(rs);//地址信息
+          _this.origin.provinceName = rs.addressComponents.province;
+          _this.origin.cityName = rs.addressComponents.city;
+          _this.origin.countyName = rs.addressComponents.district;
           _this.origin.detailAddress = rs.address;
         });
         //转为高德坐标
@@ -454,6 +552,7 @@
   }
 </script>
 <style>
+.form-container{width: 900px;}
 </style>
 
 

+ 16 - 14
src/views/pms/origin/index.vue

@@ -42,9 +42,9 @@
         <el-table-column label="生产地名称" width="100px" show-overflow-tooltip align="center">
           <template slot-scope="scope">{{scope.row.originName}}</template>
         </el-table-column>
-        <el-table-column label="生产地面积(亩)" width="100px" align="center">
+        <!-- <el-table-column label="生产地面积(亩)" width="100px" align="center">
           <template slot-scope="scope">{{scope.row.originArea}}</template>
-        </el-table-column>
+        </el-table-column> -->
         <el-table-column label="生产地图片" width="100" align="center">
           <template slot-scope="scope">
             <div v-if="scope.row.imgUrl">
@@ -57,13 +57,13 @@
           </template>
         </el-table-column>
         <el-table-column label="生产地宣传视频" show-overflow-tooltip  width="100px" align="center">
-          <template slot-scope="scope">{{scope.row.videoUrl}}</template>
+          <template slot-scope="scope"><a :href="scope.row.videoUrl" v-if="scope.row.videoUrl" target="_blank">视频地址</a></template>
         </el-table-column>
         <el-table-column label="生产地vr" show-overflow-tooltip  width="100px" align="center">
-          <template slot-scope="scope">{{scope.row.vrUrl}}</template>
+          <template slot-scope="scope"><a :href="scope.row.vrUrl" v-if="scope.row.vrUrl" target="_blank">vr地址</a></template>
         </el-table-column>
         <el-table-column label="实时监控视频" show-overflow-tooltip  width="100px" align="center">
-          <template slot-scope="scope">{{scope.row.cameraUrl}}</template>
+          <template slot-scope="scope"><a :href="scope.row.cameraUrl" v-if="scope.row.cameraUrl" target="_blank">监控地址</a></template>
         </el-table-column>
         <el-table-column label="人员数" align="center">
           <template slot-scope="scope">{{scope.row.peopleNum}}</template>
@@ -81,25 +81,27 @@
           <template slot-scope="scope">{{scope.row.summary}}</template>
         </el-table-column>
         <el-table-column label="产出物" align="center">
-          <!-- <template slot-scope="scope">{{scope.row.isCert}}</template> -->
+          <template slot-scope="scope">
+            <span v-for="(item,index) in scope.row.productlist" :key="index">{{ index == scope.row.productlist.length-1 && item.productName || (item.productName + ',')  }}</span>
+          </template>
         </el-table-column>
         <el-table-column label="产出物种植面积(亩)" align="center">
           <template slot-scope="scope">{{scope.row.originArea}}</template>
         </el-table-column>
-        <el-table-column label="产出物总产量(吨)" align="center">
-          <!-- <template slot-scope="scope">{{scope.row.compManageLicenseNum}}</template> -->
-        </el-table-column>
-        <el-table-column label="产出物亩产值(万元)" align="center">
+        <!-- <el-table-column label="产出物总产量(吨)" align="center">
+          <template slot-scope="scope">{{scope.row.compManageLicenseNum}}</template>
+        </el-table-column> -->
+        <!-- <el-table-column label="产出物亩产值(万元)" align="center">
           <template slot-scope="scope">{{scope.row.compSocialCode}}</template>
-        </el-table-column>
+        </el-table-column> -->
         <el-table-column label="所在省" align="center">
-          <template slot-scope="scope">{{scope.row.provinceId}}</template>
+          <template slot-scope="scope">{{scope.row.provinceName}}</template>
         </el-table-column>
         <el-table-column label="所在市" align="center">
-          <template slot-scope="scope">{{scope.row.cityId}}</template>
+          <template slot-scope="scope">{{scope.row.cityName}}</template>
         </el-table-column>
         <el-table-column label="所在县" align="center">
-          <template slot-scope="scope">{{scope.row.countyId}}</template>
+          <template slot-scope="scope">{{scope.row.countyName}}</template>
         </el-table-column>
         <el-table-column label="详细地址" show-overflow-tooltip align="center">
           <template slot-scope="scope">{{scope.row.detailAddress}}</template>

+ 2 - 2
src/views/pms/product/components/ProductAttrDetail.vue

@@ -1,7 +1,7 @@
 <template>
   <div style="margin-top: 50px">
     <el-form :model="value" ref="productAttrForm" :rules="rules" label-width="120px" style="width: 720px" size="small">
-      <!-- <el-form-item label="属性类型:">
+      <el-form-item label="属性类型:">
         <el-select v-model="value.productAttributeCategoryId"
                    placeholder="请选择属性类型"
                    @change="handleProductAttrChange">
@@ -130,7 +130,7 @@
             <el-input v-else class="paramInput" v-model="selectProductParam[index].value"></el-input>
           </div>
         </el-card>
-      </el-form-item> -->
+      </el-form-item>
       <el-form-item label="商品相册:" prop="selectProductPics">
         <multi-upload v-model="selectProductPics"></multi-upload>
       </el-form-item>

+ 6 - 6
src/views/pms/product/components/ProductSaleDetail.vue

@@ -1,7 +1,7 @@
 <template>
   <div style="margin-top: 50px">
     <el-form :model="value" ref="productSaleForm" label-width="120px" style="width: 600px" size="small">
-      <!-- <el-form-item label="赠送积分:">
+      <el-form-item label="赠送积分:">
         <el-input v-model="value.giftPoint"></el-input>
       </el-form-item>
       <el-form-item label="赠送成长值:">
@@ -16,7 +16,7 @@
           :active-value="1"
           :inactive-value="0">
         </el-switch>
-      </el-form-item> -->
+      </el-form-item>
       <el-form-item label="商品上架:">
         <el-switch
           v-model="value.publishStatus"
@@ -24,7 +24,7 @@
           :inactive-value="0">
         </el-switch>
       </el-form-item>
-      <!-- <el-form-item label="商品推荐:">
+      <el-form-item label="商品推荐:">
         <span style="margin-right: 10px">新品</span>
         <el-switch
           v-model="value.newStatus"
@@ -37,14 +37,14 @@
           :active-value="1"
           :inactive-value="0">
         </el-switch>
-      </el-form-item> -->
-      <!-- <el-form-item label="服务保证:">
+      </el-form-item>
+      <el-form-item label="服务保证:">
         <el-checkbox-group v-model="selectServiceList">
           <el-checkbox :label="1">无忧退货</el-checkbox>
           <el-checkbox :label="2">快速退款</el-checkbox>
           <el-checkbox :label="3">免费包邮</el-checkbox>
         </el-checkbox-group>
-      </el-form-item> -->
+      </el-form-item>
       <el-form-item label="详细页标题:">
         <el-input v-model="value.detailTitle"></el-input>
       </el-form-item>

+ 2 - 2
src/views/pms/product/index.vue

@@ -134,11 +134,11 @@
         <el-table-column label="排序" width="100" align="center">
           <template slot-scope="scope">{{scope.row.sort}}</template>
         </el-table-column>
-        <!-- <el-table-column label="SKU库存" width="100" align="center">
+        <el-table-column label="SKU库存" width="100" align="center">
           <template slot-scope="scope">
             <el-button type="primary" icon="el-icon-edit" @click="handleShowSkuEditDialog(scope.$index, scope.row)" circle></el-button>
           </template>
-        </el-table-column> -->
+        </el-table-column>
         <el-table-column label="销量" width="100" align="center">
           <template slot-scope="scope">{{scope.row.sale}}</template>
         </el-table-column>

+ 1 - 1
src/views/pms/productAttr/index.vue

@@ -71,7 +71,7 @@
       :title="dialogTitle"
       :visible.sync="dialogVisible"
       width="30%">
-      <el-form ref="productAttrCatForm":model="productAttrCate" :rules="rules" label-width="120px">
+      <el-form ref="productAttrCatForm" :model="productAttrCate" :rules="rules" label-width="120px">
         <el-form-item label="类型名称" prop="name">
           <el-input v-model="productAttrCate.name" auto-complete="off"></el-input>
         </el-form-item>

+ 1 - 1
src/views/ums/company/components/companyDetail.vue

@@ -344,7 +344,7 @@
             _this.center = {lng: r.longitude, lat: r.latitude};		// 设置center属性值
             if(_this.company.latitude&&_this.company.longitude){
               let transqq = qqMapTransBMap(_this.company.longitude,_this.company.latitude);
-              console.log('transqq',transqq);
+              // console.log('transqq',transqq);
               _this.center = {lng:transqq.lng, lat: transqq.lat};
             };
             let Icon_0 = new BMap.Icon("static/zuobiao.gif", new BMap.Size(64, 64), {anchor: new BMap.Size(18, 32),imageSize: new BMap.Size(36, 36)});