2
3
ljm 6 лет назад
Родитель
Сommit
ed3ff0ec4a

+ 1 - 1
src/dashoo.cn/backend/api/business/oilsupplier/suppliercertappendsub/oilsuppliercertappendsub.go

@@ -10,7 +10,7 @@ type OilSupplierCertAppendSub struct {
 	SupplierCertId       int       `xorm:"not null comment('供方准入证书信息表主键') INT(10)"`
 	SupplierCertAppendId int       `xorm:"not null comment('增项信息表ID') INT(10)"`
 	SubclassId           int       `xorm:"not null comment('分类表主键(物资类或基建类或技术服务类)') INT(10)"`
-	Code                 string    `xorm:"not null default '' comment('分类编码') VARCHAR(8)"`
+	Code                 string    `xorm:"not null default '' comment('分类编码') VARCHAR(50)"`
 	Name                 string    `xorm:"not null default '' comment('分类名称') VARCHAR(50)"`
 	Remark               string    `xorm:"comment('备注') VARCHAR(500)"`
 	IsDelete             int       `xorm:"default 0 comment('删除状态,0正常,1已删除') INT(10)"`

+ 122 - 120
src/dashoo.cn/frontend_web/src/pages/oilsupplier/supplierappend/subdata/dataopera.vue

@@ -19,7 +19,7 @@
       <div>
         <el-card class="box-card">
           <div slot="header">
-            <span><i class="icon icon-table2"></i> 增项信息录入</span>
+            <span><i class="icon icon-table2"></i> 增项信息</span>
             <el-button style="float: right; padding: 3px 0" type="text" @click="saveEntity()">保存信息</el-button>
           </div>
           <el-form label-width="150px" ref="EntityForm" :rules="rules" :model="formData">
@@ -29,19 +29,19 @@
                   <el-input v-model="formData.RecUnitName" placeholder="请输入推荐单位名称"></el-input>
                 </el-form-item>
               </el-col>
-              <el-col :span="12">
+              <!-- <el-col :span="12">
                 <el-form-item label="推荐单位编码" prop="RecUnitId">
                   <el-input v-model="formData.RecUnitId" placeholder="请输入推荐单位编码"></el-input>
                 </el-form-item>
-              </el-col>
-              <el-col :span="12">
+              </el-col> -->
+              <!-- <el-col :span="12">
                 <el-form-item label="选择增项" prop="checkSelectedOptList">
                   <el-cascader :options="optionsList" style="width:100%" :props="orgtreeprops" change-on-select :show-all-levels="false" 
-                    v-model="formData.selectedOptList" placeholder="请选择增项">
+                    v-model="selectedOptList" placeholder="请选择增项">
                   </el-cascader>
                 </el-form-item>
-              </el-col>
-              <el-col :span="12">
+              </el-col> -->
+              <el-col :span="24">
                 <el-form-item label="备注" prop="Remark">
                   <el-input type="textarea" v-model="formData.Remark" placeholder="请输入"  style="width: 100%"></el-input>
                 </el-form-item>
@@ -51,34 +51,13 @@
         </el-card>
         <el-card class="box-card" style="margin-top: 10px;">
           <div slot="header">
-            <span><i class="icon icon-table2"></i> 增项分类录入</span>
-            <el-button style="float: right; padding: 3px 0" type="text" @click="saveSortEntity()">添加</el-button>
+            <span><i class="icon icon-table2"></i> 增项分类</span>
+            <el-button style="float: right; padding: 3px 0" type="text" @click="addSortData()">添加</el-button>
           </div>
-          <el-form label-width="150px" ref="sortEntityForm" :rules="sortEntityFormRules" :model="sortFormData">
-            <el-row>
-              <el-col :span="12">
-                <el-form-item label="分类名称" prop="Name">
-                  <el-input v-model="sortFormData.Name" placeholder="请输入分类名称"></el-input>
-                </el-form-item>
-              </el-col>
-              <el-col :span="12">
-                <el-form-item label="分类编码" prop="Code">
-                  <el-input v-model="sortFormData.Code" placeholder="请输入分类编码"></el-input>
-                </el-form-item>
-              </el-col>
-              <el-col :span="24">
-                <el-form-item label="备注"  prop="Remark">
-                  <el-input type="textarea" v-model="sortFormData.Remark" placeholder="请输入备注"  style="width: 100%"></el-input>
-                </el-form-item>
-              </el-col>
-            </el-row>
-          </el-form>
-        </el-card>    
-        <el-card class="box-card" style="margin-top: 10px;">
           <el-table :data="entityList" border height="calc(100vh - 345px)" style="width: 100%" @sort-change="orderby">
             <el-table-column label="操作" min-width="100" align="center" fixed>
               <template slot-scope="scope">
-                <el-button type="text" title="编辑" size="medium" icon="el-icon-edit" @click="editData(scope.row)"></el-button>
+                <el-button type="text" title="编辑" size="medium" icon="el-icon-edit" @click="editSortData(scope.row)"></el-button>
                 <el-button type="text" title="删除" size="medium" icon="el-icon-delete" @click="deleteData(scope.row.Id)"></el-button>
               </template>
             </el-table-column>
@@ -93,17 +72,19 @@
       </div>
     </el-card>
 
-    <el-dialog title="修改" :visible.sync="editDialogVisible" width="800px">
+    <el-dialog :title="dialogTitle" :visible.sync="dialogVisible" width="800px">
       <el-form label-width="150px" ref="dialogFormData" :rules="sortEntityFormRules" :model="dialogFormData" >
         <el-row>
           <el-col :span="12">
-            <el-form-item label="分类名称" prop="Name">
-              <el-input v-model="dialogFormData.Name" placeholder="请输入分类名称"></el-input>
+            <el-form-item label="分类名称" prop="checkSelectedOptList">
+              <el-cascader ref="cascader" :options="optionsList" style="width:100%" :props="orgtreeprops" change-on-select :show-all-levels="false" 
+                v-model="selectedOptList" @change="getCode" placeholder="请选择分类">
+              </el-cascader>
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="分类编码" prop="Code">
-              <el-input v-model="dialogFormData.Code" placeholder="请输入分类编码"></el-input>
+              <el-input v-model="dialogFormData.Code" placeholder="请输入分类编码" disabled></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="24">
@@ -139,14 +120,15 @@
 
     data() {
       var CheckSelectedOption = (rule, value, callback) => {
-        if (this.formData.selectedOptList && this.formData.selectedOptList.length < 1) {
+        if (this.selectedOptList && this.selectedOptList.length < 1) {
           callback(new Error('请选择增项'))
         } else {
           callback()
         }
       }
       return {
-        optionsList: [], //技术服务类层级选择列表
+        optionsList: [], //技术服务类层级列表
+        selectedOptList: [], //已选择的增项分类列表
         orgtreeprops: {
           value: 'id',
           label: 'Name',
@@ -161,9 +143,8 @@
           RecUnitName: '',
           WorkRange: '',
           Remark: '',//备注
-          selectedOptList: [],
         },
-        editDialogVisible: false,//编辑增项分类
+        dialogVisible: false,//增项分类dialog
         sortFormData: {
           SupplierId: 1,//供方表ID
           SupplierCertId: 1,//供方证书表ID
@@ -173,12 +154,13 @@
           Name: '',//分类名称
           Remark: '',//备注
         },
+        dialogTitle: '',
         dialogFormData: {
           Id: '',
-          SupplierId: '',//供方表ID
-          SupplierCertId: '',//供方证书表ID
+          SupplierId: 1,//供方表ID
+          SupplierCertId: 1,//供方证书表ID
           SupplierCertAppendId: '',//增项信息表ID
-          SubClassId: '',//分类表主键(物资类或基建类或技术服务类)
+          SubClassId: 2,//分类表主键(物资类或基建类或技术服务类)
           Code: '',//分类编码
           Name: '',//分类名称
           Remark: '',//备注
@@ -196,16 +178,16 @@
         },
         //表单规则
         rules: {
-          checkSelectedOptList: [{
+          RecUnitName: [{
             required: true,
-            validator: CheckSelectedOption,
+            message: '请输入推荐单位名称',
             trigger: 'blur'
           }],
         },
         sortEntityFormRules: {
-          Name: [{
+          checkSelectedOptList: [{
             required: true,
-            message: '请输入分类名称',
+            validator: CheckSelectedOption,
             trigger: 'blur'
           }],
         },
@@ -214,20 +196,16 @@
       }
     },
     created() {
-      this.initDatas()
       this.Id = this.$route.query.Id
       this.editFlag = this.$route.query.editFlag
       if(this.editFlag == '1' && this.Id !== '') {
         this.getEntityById()
-        this.sortFormData.SupplierCertAppendId = this.Id
+        this.dialogFormData.SupplierCertAppendId = this.Id
         this.getSortList()
       }
+      this.getTechTreeList() //获取技术服务类层级列表
     },
     methods: {
-      initDatas() {
-        //获取技术服务类层级列表
-        this.getTechTreeList()
-      },
 
       //获取技术服务类层级列表
       getTechTreeList() {
@@ -241,6 +219,12 @@
           })
       },
 
+      //获取级联Id
+      getCode(item) {
+        let codeStr = item.toString()
+        this.dialogFormData.Code = codeStr
+      },
+
       //获取修改的增项信息
       getEntityById() {
         let _this = this
@@ -253,7 +237,7 @@
             for (let i = 0; i < arr.length; i++) {
                arr2.push(parseInt(arr[i]))
             }
-            _this.formData.selectedOptList = arr2
+            _this.selectedOptList = arr2
           }
         }).catch(err => {
           console.error(err)
@@ -263,8 +247,8 @@
       //更新增项信息
       updateData() {
         let _this = this
-        if (_this.formData.selectedOptList != null) {
-          _this.formData.WorkRange = _this.formData.selectedOptList.toString()
+        if (_this.selectedOptListselectedOptList != null) {
+          _this.formData.WorkRange = _this.selectedOptList.toString()
         }
         api2.updateEntity(_this.Id, _this.formData, _this.$axios).then(res => {
           if (res.data.code === 0) {
@@ -291,7 +275,7 @@
           _size: this.size,
           Order: this.Column.Order,
           Prop: this.Column.Prop,
-          SupplierCertAppendId: this.sortFormData.SupplierCertAppendId,
+          SupplierCertAppendId: this.dialogFormData.SupplierCertAppendId,
         };
         //访问接口
         api.getList(params, this.$axios).then(res => {
@@ -320,13 +304,10 @@
       //添加增项信息
       addAppend() {
         let _this = this
-        if (_this.formData.selectedOptList != null) {
-          _this.formData.WorkRange = _this.formData.selectedOptList.toString()
-        }
         _this.$axios.post('/suppliercertappend/addappend/', _this.formData)
           .then(res => {
             if (res.data.code === 0) {
-              _this.sortFormData.SupplierCertAppendId = res.data.item //接收插入数据后返回的Id
+              _this.dialogFormData.SupplierCertAppendId = res.data.item //接收插入数据后返回的Id
               _this.$message({
                 type: 'success',
                 message: res.data.message,
@@ -344,23 +325,88 @@
         })
       },
 
-      //保存新增分类信息
-      saveSortEntity() {
-        //先判断是否保存了增项信息
-        if(this.checkAppendSave()) {
-          this.$refs['sortEntityForm'].validate((valid) => {
-            if (valid) {
-              this.addSortAppend()
-            } else {
-              return false
-            }
-          })
+      //添加增项分类
+      addSortData() {
+        let _this = this
+        _this.dialogTitle = '添加'
+        _this.dialogVisible = true
+        _this.selectedOptList = [] //置空,防止先修改再添加时的已选分类信息保留
+        _this.dialogFormData.Id = ''
+        _this.dialogFormData.Code = ''
+        _this.dialogFormData.Remark = ''
+      },
+
+      //编辑增项分类
+      editSortData(row) {
+        let _this = this
+        _this.dialogTitle = '编辑'
+        _this.dialogVisible = true
+        _this.dialogFormData = row
+        //显示原增项结构
+        if (_this.dialogFormData.Code != null) {
+          let arr = _this.dialogFormData.Code.split(',')
+          let arr2 = []
+          for (let i = 0; i < arr.length; i++) {
+              arr2.push(parseInt(arr[i]))
+          }
+          _this.selectedOptList = arr2
         }
       },
 
+      //取消
+      cancelOption() {
+        let _this = this
+        _this.dialogVisible = false
+      },
+
+      //确定
+      ensureOption() {
+        this.$refs['dialogFormData'].validate((valid) => {
+          if (valid) {
+            let _this = this
+            if (_this.dialogTitle == '添加') {
+              let arr = []
+              arr = _this.$refs['cascader'].currentLabels //_this.$refs['cascader'].currentLabels获取当前级联选项的id对应的value
+              _this.dialogFormData.Name = arr[arr.length - 1]
+              _this.dialogFormData.SupplierCertAppendId = parseInt(_this.dialogFormData.SupplierCertAppendId)
+              //先判断是否保存了增项信息
+              if(this.checkAppendSave()) {
+                this.addSortAppend()
+              }
+            }
+            if (_this.dialogTitle == '编辑') {
+              let arr = []
+              arr = _this.$refs['cascader'].currentLabels
+              _this.dialogFormData.Name = arr[arr.length - 1]
+              api.updateEntity(_this.dialogFormData.Id, _this.dialogFormData, _this.$axios).then(res => {
+                if (res.data.code === 0) {
+                  this.$message({
+                    type: 'success',
+                    message: res.data.message
+                  });
+                  //关闭dialog
+                  _this.dialogVisible = false
+                  //更新列表
+                  this.getSortList()
+                } else {
+                  this.$message({
+                    type: 'warning',
+                    message: res.data.message
+                  });
+                }
+              }).catch(err => {
+                console.error(err)
+              })
+            }
+          } else {
+            return false
+          }
+        })
+      },
+
       //判断是否保存了增项信息
       checkAppendSave() {
-        if (this.sortFormData.SupplierCertAppendId == '' && this.editFlag == null) {
+        if (this.dialogFormData.SupplierCertAppendId == '' && this.editFlag == null) {
           this.$message({
             type: 'error',
             message: '无法保存,请先保存增项信息!'
@@ -373,15 +419,16 @@
       //添加增项分类信息
       addSortAppend() {
         let _this = this
-        _this.sortFormData.SupplierCertAppendId = parseInt(_this.sortFormData.SupplierCertAppendId)
-        _this.$axios.post('/suppliercertappendsub/addappendsub/', _this.sortFormData)
+        _this.$axios.post('/suppliercertappendsub/addappendsub/', _this.dialogFormData)
           .then(res => {
             if (res.data.code === 0) {
               _this.$message({
                 type: 'success',
                 message: res.data.message,
               })
-              //获取增项分类表
+              //关闭dialog
+              _this.dialogVisible = false
+              //更新增项分类表
               _this.getSortList()
             } else {
               _this.$message({
@@ -395,51 +442,6 @@
           })
       },
 
-      //编辑增项分类
-      editData(row) {
-        let _this = this
-        _this.editDialogVisible = true
-        console.log("*****编辑row******",row)
-        _this.dialogFormData = row
-        console.log("*****编辑_this.dialogFormData******",_this.dialogFormData)
-      },
-
-      //取消
-      cancelOption() {
-        let _this = this
-        _this.editDialogVisible = false
-      },
-
-      //确定
-      ensureOption() {
-        this.$refs['dialogFormData'].validate((valid) => {
-          if (valid) {
-            let _this = this
-            api.updateEntity(_this.dialogFormData.Id, _this.dialogFormData, _this.$axios).then(res => {
-              if (res.data.code === 0) {
-                this.$message({
-                  type: 'success',
-                  message: res.data.message
-                });
-                //关闭dialog
-                _this.editDialogVisible = false
-                //更新列表
-                this.getSortList()
-              } else {
-                this.$message({
-                  type: 'warning',
-                  message: res.data.message
-                });
-              }
-            }).catch(err => {
-              console.error(err)
-            })
-          } else {
-            return false
-          }
-        })
-      },
-
       //删除增项分类信息
       deleteData(Id) {
         let _this = this