2
3
Преглед на файлове

前后:base64加密;页面排版样式

dubch преди 4 години
родител
ревизия
cb51724548

+ 4 - 4
src/dashoo.cn/backend/api/conf/app.conf

@@ -22,9 +22,9 @@ type=mysql
 
 #本地测试服务器
 name=supplier_system_20210107
-host=139.9.119.182
+host=114.116.226.160
 user=root
-pwd=newsys*123
+pwd=newsys@*123
 #host=192.168.0.252
 #user=ixcell
 #pwd=ixcell123456
@@ -45,9 +45,9 @@ type=mysql
 
 #本地测试服务器
 name=casbin_20210107
-host=139.9.119.182
+host=114.116.226.160
 user=root
-pwd=newsys*123
+pwd=newsys@*123
 domain=oil_supplier
 
 [workflow]

+ 2 - 3
src/dashoo.cn/backend/api/controllers/rtx/rtx.go

@@ -82,10 +82,9 @@ func (this *RtxController) PtrLogin() {
 	var jsonBlob = this.Ctx.Input.RequestBody
 	json.Unmarshal(jsonBlob, &ptr)
 
-	//解密
-	//passWord := this.Decrypt(ptr.PassWord)
+	password, _:= base64.StdEncoding.DecodeString(ptr.PassWord)
 
-	resp := rtxSvc.HandlePtrLogin(ptr.UserName, ptr.PassWord, BaseUserName)
+	resp := rtxSvc.HandlePtrLogin(ptr.UserName, string(password), BaseUserName)
 	log.Println("userName= ", ptr.UserName)
 	var datainfo DataInfo
 	datainfo.Items = resp

+ 38 - 0
src/dashoo.cn/backend/api/controllers/token.go

@@ -1,8 +1,14 @@
 package controllers
 
 import (
+	"crypto/rand"
+	"crypto/rsa"
+	"crypto/x509"
 	"dashoo.cn/backend/api/business/register"
+	"encoding/base64"
 	"encoding/json"
+	"encoding/pem"
+	"os"
 	"strconv"
 	"strings"
 
@@ -30,6 +36,10 @@ func (this *TokenController) Post() {
 	json.Unmarshal(this.Ctx.Input.RequestBody, &user4CreateToken)
 	svc := auth.GetAuthServic(utils.DBE)
 	var user userRole.Base_User
+	if user4CreateToken.Username != "icbc2019" && user4CreateToken.Username != "ceshi1" {
+		password, _:= base64.StdEncoding.DecodeString(user4CreateToken.Password)
+		user4CreateToken.Password = string(password)
+	}
 
 	if user4CreateToken.Flag == 1 {
 		userToken, err := models.CreateToken(user4CreateToken.Username)
@@ -108,3 +118,31 @@ func (this *TokenController) Logout() {
 	this.Data["json"] = map[string]string{"msg": "logout"}
 	this.ServeJSON()
 }
+
+//解密
+func (this *TokenController) Decrypt(passWord string) string{
+
+	code, _:= base64.StdEncoding.DecodeString(passWord)
+	//打开文件
+	file, err := os.Open("./controllers/rtx/rsa_1024.pem")
+	if err != nil {
+		panic(err)
+	}
+	defer file.Close()
+	//获取文件内容
+	info, _ := file.Stat()
+	buf := make([]byte, info.Size())
+	file.Read(buf)
+	//pem解码
+	block, _ := pem.Decode(buf)
+	//X509解码
+	privateKey, err := x509.ParsePKCS1PrivateKey(block.Bytes)
+	if err != nil {
+		panic(err)
+	}
+	plainText, _ := rsa.DecryptPKCS1v15(rand.Reader, privateKey, code)
+	if plainText == nil {
+		return ""
+	}
+	return string(plainText)
+}

+ 1 - 0
src/dashoo.cn/frontend_web/package.json

@@ -19,6 +19,7 @@
   "dependencies": {
     "@nuxtjs/axios": "^4.4.0",
     "axios": "^0.16.2",
+    "base-64": "^1.0.0",
     "chart.js": "^2.7.0",
     "cross-env": "^5.1.1",
     "echarts": "^3.8.5",

+ 7 - 5
src/dashoo.cn/frontend_web/src/components/oilsupplier/basisinfo.vue

@@ -357,11 +357,6 @@
             <el-input v-model="formData.CompanyUrl" placeholder="请输入" style="width: 100%"></el-input>
           </el-form-item>
         </el-col>-->
-        <el-col :span="8">
-          <el-form-item label="进津备案通知书">
-            <el-input v-model="formData.TjinNotify"  :readonly="this.formData.Status > '0'" placeholder="请输入" style="width: 100%"></el-input>
-          </el-form-item>
-        </el-col>
         <el-col :span="8">
           <el-form-item label="HSE审查培训">
             <!--<el-input v-model="formData.HseTraining" placeholder="请输入" style="width: 100%"></el-input>-->
@@ -376,6 +371,13 @@
         </el-col>
 
       </el-row>
+      <el-row>
+        <el-col :span="8">
+          <el-form-item label="进津备案通知书">
+            <el-input v-model="formData.TjinNotify"  :readonly="this.formData.Status > '0'" placeholder="请输入" style="width: 100%"></el-input>
+          </el-form-item>
+        </el-col>
+      </el-row>
     </el-form>
     <el-form class="formDataInfo" label-position="top" ref="EntityFormCert" :rules="rulesform" :model="formData" :disabled="disabled">
       <el-row :gutter="60">

+ 9 - 10
src/dashoo.cn/frontend_web/src/components/oilsupplier/goodsinfo.vue

@@ -576,9 +576,8 @@
             </el-input>
           </el-form-item>
         </el-col>-->
-        <!-- <el-col :span="8">
+        <el-col :span="8">
           <el-form-item label="HSE审查培训">
-            <el-input v-model="formData.HseTraining" placeholder="请输入" style="width: 100%"></el-input>
             <el-select v-model="formData.HseTraining"
                        :disabled="!canUpdateSupplier"
                        placeholder="请选择"
@@ -592,7 +591,7 @@
             </el-select>
 
           </el-form-item>
-        </el-col> -->
+        </el-col>
 
       </el-row>
     </el-form>
@@ -1022,13 +1021,13 @@ export default {
       },
       CityAry: [],
       LinkCityAry: [],
-      // HSEOptions: [{
-      //   value: '1',
-      //   label: '是'
-      // }, {
-      //   value: '0',
-      //   label: '否'
-      // }],
+      HSEOptions: [{
+        value: '1',
+        label: '是'
+      }, {
+        value: '0',
+        label: '否'
+      }],
       SubfileForm: {
         Id: '',
         SupplierId: '',

+ 3 - 6
src/dashoo.cn/frontend_web/src/pages/login.vue

@@ -137,6 +137,7 @@ import Iam from '@/api/iamlogin/iamlogin'
 import documentApi from '@/api/oilsupplier/document'
 import SIdentify from '@/components/VCode.vue'
 import Cookies from 'js-cookie'
+import Base64  from 'base-64'
 // import { JSEncrypt } from 'jsencrypt'
 // import {mapGetters} from 'vuex'
 @Component({
@@ -411,11 +412,9 @@ import Cookies from 'js-cookie'
     // },
 
     loginptr () {
-      //加密
-      // let password = this.encrypt()
       let params = {
         username: this.model.username,
-        password: this.model.password
+        password: Base64.encode(this.model.password)
       }
       this.loading = true
       api
@@ -460,15 +459,13 @@ export default class Login extends Vue {
       return false
     }
     this.loading = true
-    //加密
-    // let password = this.encrypt()
     this.$refs.user.validate(async valid => {
       try {
         if (valid) {
           await this.$store.dispatch('auth/login', {
             fields: {
               username: this.model.username.replace(/(^\s*)|(\s*$)/g, ''),
-              password: this.model.password.replace(/(^\s*)|(\s*$)/g, ''),
+              password: Base64.encode(this.model.password).replace(/(^\s*)|(\s*$)/g, ''),
               flag: this.flag
             }
           })

+ 8 - 6
src/dashoo.cn/frontend_web/src/pages/oilsupplier/annualaudit/_opera/basicauditoperation.vue

@@ -389,12 +389,6 @@
                     <el-input v-model="formData.CompanyUrl" placeholder="请输入" style="width: 100%"></el-input>
                   </el-form-item>
                 </el-col>-->
-                <el-col :span="8">
-                  <el-form-item label="进津备案通知书">
-                    <el-input v-model="formData.TjinNotify"  :readonly="this.formData.Status > '0'" placeholder="请输入"
-                      :class="changedForm['TjinNotify'] ? 'modified-form-input' : ''" style="width: 100%"></el-input>
-                  </el-form-item>
-                </el-col>
                 <el-col :span="8">
                     <el-form-item label="HSE审查培训">
                       <!--<el-input v-model="formData.HseTraining" placeholder="请输入" style="width: 100%"></el-input>-->
@@ -409,6 +403,14 @@
                 </el-col>
 
               </el-row>
+              <el-row>
+                <el-col :span="8">
+                  <el-form-item label="进津备案通知书">
+                    <el-input v-model="formData.TjinNotify"  :readonly="this.formData.Status > '0'" placeholder="请输入"
+                              :class="changedForm['TjinNotify'] ? 'modified-form-input' : ''" style="width: 100%"></el-input>
+                  </el-form-item>
+                </el-col>
+              </el-row>
             </el-form>
             <el-form class="formDataInfo" label-position="top" ref="EntityFormCert" :rules="rulesform" :model="formData" >
               <el-row :gutter="60">

+ 8 - 6
src/dashoo.cn/frontend_web/src/pages/oilsupplier/annualaudit/_opera/bassicoperation.vue

@@ -394,12 +394,6 @@
                 <el-input v-model="formData.CompanyUrl" placeholder="请输入" style="width: 100%"></el-input>
               </el-form-item>
             </el-col>-->
-            <el-col :span="8">
-              <el-form-item label="进津备案通知书">
-                <el-input v-model="formData.TjinNotify"  :readonly="!canUpdateSupplier" placeholder="请输入"
-                  :class="changedForm['TjinNotify'] ? 'modified-form-input' : ''" style="width: 100%"></el-input>
-              </el-form-item>
-            </el-col>
             <el-col :span="8">
                 <el-form-item label="HSE审查培训">
                   <!--<el-input v-model="formData.HseTraining" placeholder="请输入" style="width: 100%"></el-input>-->
@@ -414,6 +408,14 @@
             </el-col>
 
           </el-row>
+          <el-row>
+            <el-col :span="8">
+              <el-form-item label="进津备案通知书">
+                <el-input v-model="formData.TjinNotify"  :readonly="!canUpdateSupplier" placeholder="请输入"
+                          :class="changedForm['TjinNotify'] ? 'modified-form-input' : ''" style="width: 100%"></el-input>
+              </el-form-item>
+            </el-col>
+          </el-row>
         </el-form>
         <el-form class="formDataInfo" label-position="top" ref="EntityFormCert" :rules="rulesform" :model="formData" >
           <el-row :gutter="60">

+ 2 - 4
src/dashoo.cn/frontend_web/src/pages/oilsupplier/infochangech/_opera/operation.vue

@@ -90,7 +90,7 @@
                   <el-select v-model="formData.Grade"
                              placeholder="请选择级别"
                              :class="changedForm['Grade'] ? 'modified-form-input' : ''"
-                             style="width: 100%" :disabled="Grade == '2'"
+                             style="width: 100%" :disabled="InfoStatus > 0 || butnab || Grade == '2'"
                              @change="GradeChange">
                     <el-option
                       v-for="item in GradeOptions"
@@ -137,7 +137,7 @@
               </el-col>
 
               <el-col :span="8">
-                <el-form-item label-width="150px" label="统一社会信用代码" prop="CommercialNo">
+                <el-form-item label="统一社会信用代码" prop="CommercialNo">
                   <el-input v-model="formData.CommercialNo" maxlength="50" :readonly="true"
                     :class="changedForm['CommercialNo'] ? 'modified-form-input' : ''" placeholder="请输入"
                     style="width: 100%">
@@ -145,8 +145,6 @@
                 </el-form-item>
               </el-col>
 
-
-
               <el-col :span="8">
                 <el-form-item label="税务登记证编号" prop="CountryTaxNo" v-if="showorhidflag=='show'">
                   <el-input v-model="formData.CountryTaxNo" maxlength="50"

+ 42 - 13
src/dashoo.cn/frontend_web/src/pages/oilsupplier/supplierappend/_opera/basisdataopera.vue

@@ -101,7 +101,7 @@
                 </el-col>
 
                 <el-col :span="8">
-                  <el-form-item label-width="150px" label="统一社会信用代码" prop="CommercialNo">
+                  <el-form-item label="统一社会信用代码" prop="CommercialNo">
                     <el-input v-model="supplierData.CommercialNo" maxlength="50" :readonly="true"
                               :class="changedForm['CommercialNo'] ? 'modified-form-input' : ''" placeholder="请输入"
                               style="width: 100%">
@@ -181,7 +181,18 @@
                 </el-col>
               </el-row>
               <el-row>
-
+                <el-col :span="8">
+                  <el-form-item label="国家" prop="Country">
+                    <el-select v-model="supplierData.Country" filterable placeholder="请选择" style="width: 100%" :disabled="currentStatus > 0"
+                               :class="changedForm['Country'] ? 'modified-form-input' : ''">
+                      <el-option v-for="item in countryListOptions" :key="item.key" :label="item.value"
+                                 :value="item.value">
+                        <span style="float: left">{{ item.value }}</span>
+                        <span style="float: right; color: #8492a6; font-size: 13px">{{ item.label }}</span>
+                      </el-option>
+                    </el-select>
+                  </el-form-item>
+                </el-col>
                 <el-col :span="8">
                   <el-form-item label="法定代表人姓名" prop="LegalPerson">
                     <el-input v-model="supplierData.LegalPerson" maxlength="20" placeholder="请输入" :readonly="currentStatus > 0"
@@ -203,6 +214,8 @@
                   </el-form-item>
                 </el-col>
 
+              </el-row>
+              <el-row>
                 <el-col :span="8">
                   <el-form-item label="注册资本" prop="RegCapital">
                     <el-input type="number"  v-model="supplierData.RegCapital"
@@ -212,8 +225,6 @@
                     </el-input>
                   </el-form-item>
                 </el-col>
-              </el-row>
-              <el-row>
                 <el-col :span="8">
                   <el-form-item label="成立时间" prop="SetupTime">
                     <el-date-picker v-model="supplierData.SetupTime" type="date" :readonly="currentStatus > 0"
@@ -230,7 +241,8 @@
                     </el-input>
                   </el-form-item>
                 </el-col>
-
+              </el-row>
+              <el-row>
                 <el-col :span="8">
                   <el-form-item label="银行账号" prop="BankAccount">
                     <el-input v-model="supplierData.BankAccount" maxlength="50" placeholder="请输入" :readonly="currentStatus > 0"
@@ -238,8 +250,6 @@
                     </el-input>
                   </el-form-item>
                 </el-col>
-              </el-row>
-              <el-row>
                 <el-col :span="8">
                   <el-form-item label="联系人姓名" prop="ContactName">
                     <el-input v-model="supplierData.ContactName" maxlength="20" placeholder="请输入" :readonly="currentStatus > 0"
@@ -254,7 +264,8 @@
                               :class="changedForm['Mobile'] ? 'modified-form-input' : ''" style="width: 100%"></el-input>
                   </el-form-item>
                 </el-col>
-
+              </el-row>
+              <el-row>
                 <el-col :span="8">
                   <el-form-item label="固定电话" prop="Telphone">
                     <el-input v-model="supplierData.Telphone" maxlength="20" placeholder="请输入" :readonly="currentStatus > 0"
@@ -262,8 +273,6 @@
                     </el-input>
                   </el-form-item>
                 </el-col>
-              </el-row>
-              <el-row>
                 <el-col :span="8">
                   <el-form-item label="传真" prop="Fax">
                     <el-input v-model="supplierData.Fax" maxlength="20" placeholder="区号-0000000" :readonly="currentStatus > 0"
@@ -278,14 +287,14 @@
                     </el-input>
                   </el-form-item>
                 </el-col>
+              </el-row>
+              <el-row>
                 <el-col :span="8">
                   <el-form-item label="电子邮箱" prop="EMail">
                     <el-input v-model="supplierData.EMail" maxlength="50" placeholder="请输入" :readonly="currentStatus > 0"
                               :class="changedForm['EMail'] ? 'modified-form-input' : ''" style="width: 100%"></el-input>
                   </el-form-item>
                 </el-col>
-              </el-row>
-              <el-row>
                 <el-col :span="8">
                   <el-form-item label="银行信用等级">
                     <el-input v-model="supplierData.BankCreditRating" maxlength="10" :readonly="currentStatus > 0"
@@ -294,7 +303,6 @@
                     </el-input>
                   </el-form-item>
                 </el-col>
-
                 <el-col :span="8">
                   <el-form-item label="HSE审查培训">
                     <!--<el-input v-model="supplierData.HseTraining" placeholder="请输入" style="width: 100%"></el-input>-->
@@ -309,6 +317,13 @@
                 </el-col>
 
               </el-row>
+              <el-row>
+                <el-col :span="8">
+                  <el-form-item label="进津备案通知书">
+                    <el-input v-model="formData.TjinNotify"  :readonly="this.formData.Status > '0'" placeholder="请输入" style="width: 100%"></el-input>
+                  </el-form-item>
+                </el-col>
+              </el-row>
             </el-form>
 
             <el-form class="formDataInfo" label-position="top" ref="EntityFormCert" :rules="rulesform" :model="supplierData">
@@ -1042,6 +1057,7 @@
         dialogComSubmitToSeparateUnitVisible: false,
         orgauditOptions: [],
         UnitOrgOptions: [],
+        countryListOptions: [],
         orgtreelist: [], // 二级单位
         preorgtreelist: [],
         secauditerOptions: [],
@@ -1777,11 +1793,24 @@
           }
           this.CompanyTypeOptions = this.dictData['CompanyType']
           this.getCityList(this.dictData['GaodeMapChinaAreas'])
+          this.getCountryList(this.dictData['CountryList'])
           this.orgunitChange(this.UnitOrg)
         }).catch(err => {
           console.error(err)
         })
       },
+      getCountryList (val) {
+        let tmpJson = JSON.parse(val)
+        this.countryListOptions = []
+        for (let idx in tmpJson) {
+          this.countryListOptions.push({
+            label: tmpJson[idx].split('-')[0],
+            value: tmpJson[idx].split('-')[1],
+            code: tmpJson[idx].split('-')[2],
+            key: tmpJson[idx]
+          })
+        }
+      },
       getCityList (val) {
         let resultData = JSON.parse(val)
         let countstr = JSON.stringify(resultData.districts[0].districts)

+ 35 - 11
src/dashoo.cn/frontend_web/src/pages/oilsupplier/supplierappend/_opera/techdataopera.vue

@@ -101,7 +101,7 @@
                 </el-col>
 
                 <el-col :span="8">
-                  <el-form-item label-width="150px" label="统一社会信用代码" prop="CommercialNo">
+                  <el-form-item label="统一社会信用代码" prop="CommercialNo">
                     <el-input v-model="supplierData.CommercialNo" maxlength="50" :readonly="true"
                               :class="changedForm['CommercialNo'] ? 'modified-form-input' : ''" placeholder="请输入"
                               style="width: 100%">
@@ -181,7 +181,18 @@
                 </el-col>
               </el-row>
               <el-row>
-
+                <el-col :span="8">
+                  <el-form-item label="国家" prop="Country">
+                    <el-select v-model="supplierData.Country" filterable placeholder="请选择" style="width: 100%" :disabled="currentStatus > 0"
+                               :class="changedForm['Country'] ? 'modified-form-input' : ''">
+                      <el-option v-for="item in countryListOptions" :key="item.key" :label="item.value"
+                                 :value="item.value">
+                        <span style="float: left">{{ item.value }}</span>
+                        <span style="float: right; color: #8492a6; font-size: 13px">{{ item.label }}</span>
+                      </el-option>
+                    </el-select>
+                  </el-form-item>
+                </el-col>
                 <el-col :span="8">
                   <el-form-item label="法定代表人姓名" prop="LegalPerson">
                     <el-input v-model="supplierData.LegalPerson" maxlength="20" placeholder="请输入" :readonly="currentStatus > 0"
@@ -203,6 +214,8 @@
                   </el-form-item>
                 </el-col>
 
+              </el-row>
+              <el-row>
                 <el-col :span="8">
                   <el-form-item label="注册资本" prop="RegCapital">
                     <el-input type="number"  v-model="supplierData.RegCapital" :readonly="currentStatus > 0"
@@ -212,8 +225,6 @@
                     </el-input>
                   </el-form-item>
                 </el-col>
-              </el-row>
-              <el-row>
                 <el-col :span="8">
                   <el-form-item label="成立时间" prop="SetupTime">
                     <el-date-picker v-model="supplierData.SetupTime" type="date" :readonly="currentStatus > 0"
@@ -231,6 +242,8 @@
                   </el-form-item>
                 </el-col>
 
+              </el-row>
+              <el-row>
                 <el-col :span="8">
                   <el-form-item label="银行账号" prop="BankAccount">
                     <el-input v-model="supplierData.BankAccount" maxlength="50" placeholder="请输入" :readonly="currentStatus > 0"
@@ -238,8 +251,6 @@
                     </el-input>
                   </el-form-item>
                 </el-col>
-              </el-row>
-              <el-row>
                 <el-col :span="8">
                   <el-form-item label="联系人姓名" prop="ContactName">
                     <el-input v-model="supplierData.ContactName" maxlength="20" placeholder="请输入" :readonly="currentStatus > 0"
@@ -254,7 +265,8 @@
                               :class="changedForm['Mobile'] ? 'modified-form-input' : ''" style="width: 100%"></el-input>
                   </el-form-item>
                 </el-col>
-
+              </el-row>
+              <el-row>
                 <el-col :span="8">
                   <el-form-item label="固定电话" prop="Telphone">
                     <el-input v-model="supplierData.Telphone" maxlength="20" placeholder="请输入" :readonly="currentStatus > 0"
@@ -262,8 +274,6 @@
                     </el-input>
                   </el-form-item>
                 </el-col>
-              </el-row>
-              <el-row>
                 <el-col :span="8">
                   <el-form-item label="传真" prop="Fax">
                     <el-input v-model="supplierData.Fax" maxlength="20" placeholder="区号-0000000" :readonly="currentStatus > 0"
@@ -278,14 +288,14 @@
                     </el-input>
                   </el-form-item>
                 </el-col>
+              </el-row>
+              <el-row>
                 <el-col :span="8">
                   <el-form-item label="电子邮箱" prop="EMail">
                     <el-input v-model="supplierData.EMail" maxlength="50" placeholder="请输入" :readonly="currentStatus > 0"
                               :class="changedForm['EMail'] ? 'modified-form-input' : ''" style="width: 100%"></el-input>
                   </el-form-item>
                 </el-col>
-              </el-row>
-              <el-row>
                 <el-col :span="8">
                   <el-form-item label="银行信用等级">
                     <el-input v-model="supplierData.BankCreditRating" maxlength="10" :readonly="currentStatus > 0"
@@ -1336,6 +1346,7 @@
           AuditIndex: 0,
           PACNumber: ''
         },
+        countryListOptions: [],
         changedForm: {
           SupplierName: false,
           SpecTypeCode: false,
@@ -1539,6 +1550,18 @@
       // this.getsubfile()
     },
     methods: {
+      getCountryList (val) {
+        let tmpJson = JSON.parse(val)
+        this.countryListOptions = []
+        for (let idx in tmpJson) {
+          this.countryListOptions.push({
+            label: tmpJson[idx].split('-')[0],
+            value: tmpJson[idx].split('-')[1],
+            code: tmpJson[idx].split('-')[2],
+            key: tmpJson[idx]
+          })
+        }
+      },
       delFile (row) {
         let confirmmsg = '此操作将彻底删除该数据, 是否继续?'
         this.$confirm(confirmmsg, '提示', {
@@ -3047,6 +3070,7 @@
           }
           this.CompanyTypeOptions = this.dictData['CompanyType']
           this.getCityList(this.dictData['GaodeMapChinaAreas'])
+          this.getCountryList(this.dictData['CountryList'])
           this.orgunitChange(this.UnitOrg)
         }).catch(err => {
           console.error(err)